Task: | Bit string |
Sender: | faishol27 |
Submission time: | 2019-01-19 05:22:02 +0200 |
Language: | C++ |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 21 |
#2 | ACCEPTED | 27 |
#3 | ACCEPTED | 52 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.02 s | 1 | details |
#2 | ACCEPTED | 0.02 s | 1 | details |
#3 | ACCEPTED | 0.03 s | 1 | details |
#4 | ACCEPTED | 0.04 s | 1 | details |
#5 | ACCEPTED | 0.03 s | 1 | details |
#6 | ACCEPTED | 0.02 s | 1 | details |
#7 | ACCEPTED | 0.02 s | 1 | details |
#8 | ACCEPTED | 0.03 s | 2 | details |
#9 | ACCEPTED | 0.03 s | 2 | details |
#10 | ACCEPTED | 0.03 s | 2 | details |
#11 | ACCEPTED | 0.03 s | 2 | details |
#12 | ACCEPTED | 0.02 s | 2 | details |
#13 | ACCEPTED | 0.03 s | 2 | details |
#14 | ACCEPTED | 0.03 s | 2 | details |
#15 | ACCEPTED | 0.03 s | 3 | details |
#16 | ACCEPTED | 0.04 s | 3 | details |
#17 | ACCEPTED | 0.03 s | 3 | details |
#18 | ACCEPTED | 0.03 s | 3 | details |
#19 | ACCEPTED | 0.03 s | 3 | details |
#20 | ACCEPTED | 0.03 s | 3 | details |
#21 | ACCEPTED | 0.02 s | 3 | details |
Code
//////////////////////////////////////////////// // // // Author: Muhammad Faishol Amirul Mukminin // // // //////////////////////////////////////////////// #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> pi; typedef pair<pi,int> pii; typedef pair<ll,ll> pl; typedef pair<pl,ll> pll; typedef pair<double,double> pd; typedef pair<pd,double> pdd; typedef pair<string, int> psi; #define FOR(i,x,y) for(int i=(x);i<(y);i++) #define FORN(i,x,y) for(int i=(x);i<=(y);i++) #define REV(i,a,b) for(int i=(a);i>(b);i--) #define REVN(i,a,b) for(int i=(a);i>=(b);i--) #define BTW(i,a,b) a <= i && i <= b #define DB(x) cerr << #x << ": " << x << endl; #define fi first #define se second #define PUB push_back #define POB pop_back #define PUF push_front #define POF pop_front #define ALL(v) (v).begin(),(v).end() #define endl "\n" const double EPS = 1e-9; const double PI = acos(-1); const ll MOD = 1e9+7; const int INF = 0x7FFFFFFF; const ll LINF = 0x7FFFFFFFFFFFFFFFLL; const ull UINF = 0xFFFFFFFFFFFFFFFFLL; const int dCol[] = {0,+1,0,-1,+1,+1,-1,-1}; const int dRow[] = {-1,0,+1,0,-1,+1,+1,-1}; template <typename T> inline void VIN(vector<T> &i){ T x; cin >> x; i.PUB(x); } inline void FIO(string i){ freopen((i+".in").c_str(), "r", stdin); freopen((i+".out").c_str(), "w", stdout);} ll dp[2][500005], ans = 0, N; string S; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); memset(dp, 0, sizeof dp); cin >> S; N = S.length(); dp[S[0]-'0'][0] = 1; ans = dp[0][0]; FOR(i,1,N){ if(S[i] == '0'){ dp[0][i] = dp[0][i-1]+1; dp[1][i] = dp[1][i-1]; }else{ dp[0][i] = dp[1][i-1]; dp[1][i] = dp[0][i-1]+1; } ans += dp[0][i]; } cout << ans << endl; return 0; }
Test details
Test 1
Group: 1
Verdict: ACCEPTED
input |
---|
111111111111111111111111111111... |
correct output |
---|
2500 |
user output |
---|
2500 |
Test 2
Group: 1
Verdict: ACCEPTED
input |
---|
111101111111101111111011011110... |
correct output |
---|
2502 |
user output |
---|
2502 |
Test 3
Group: 1
Verdict: ACCEPTED
input |
---|
000110011101101000000000101010... |
correct output |
---|
2590 |
user output |
---|
2590 |
Test 4
Group: 1
Verdict: ACCEPTED
input |
---|
110101000010001000101100011000... |
correct output |
---|
2502 |
user output |
---|
2502 |
Test 5
Group: 1
Verdict: ACCEPTED
input |
---|
000000000000000000000000000000... |
correct output |
---|
5050 |
user output |
---|
5050 |
Test 6
Group: 1
Verdict: ACCEPTED
input |
---|
0 |
correct output |
---|
1 |
user output |
---|
1 |
Test 7
Group: 1
Verdict: ACCEPTED
input |
---|
1 |
correct output |
---|
0 |
user output |
---|
0 |
Test 8
Group: 2
Verdict: ACCEPTED
input |
---|
111111111111111111111111111111... |
correct output |
---|
6250000 |
user output |
---|
6250000 |
Test 9
Group: 2
Verdict: ACCEPTED
input |
---|
111111111110101111111010111011... |
correct output |
---|
6250342 |
user output |
---|
6250342 |
Test 10
Group: 2
Verdict: ACCEPTED
input |
---|
110110111000000001011100000011... |
correct output |
---|
6252352 |
user output |
---|
6252352 |
Test 11
Group: 2
Verdict: ACCEPTED
input |
---|
000000001000101001001110100011... |
correct output |
---|
6253422 |
user output |
---|
6253422 |
Test 12
Group: 2
Verdict: ACCEPTED
input |
---|
000000000000000000000000000000... |
correct output |
---|
12502500 |
user output |
---|
12502500 |
Test 13
Group: 2
Verdict: ACCEPTED
input |
---|
0 |
correct output |
---|
1 |
user output |
---|
1 |
Test 14
Group: 2
Verdict: ACCEPTED
input |
---|
1 |
correct output |
---|
0 |
user output |
---|
0 |
Test 15
Group: 3
Verdict: ACCEPTED
input |
---|
111111111111111111111111111111... |
correct output |
---|
62500000000 |
user output |
---|
62500000000 |
Test 16
Group: 3
Verdict: ACCEPTED
input |
---|
101101100110111101111011111101... |
correct output |
---|
62500057360 |
user output |
---|
62500057360 |
Test 17
Group: 3
Verdict: ACCEPTED
input |
---|
011100000010000011110101010001... |
correct output |
---|
62500117306 |
user output |
---|
62500117306 |
Test 18
Group: 3
Verdict: ACCEPTED
input |
---|
001010011010000001100011001101... |
correct output |
---|
62500144780 |
user output |
---|
62500144780 |
Test 19
Group: 3
Verdict: ACCEPTED
input |
---|
000000000000000000000000000000... |
correct output |
---|
125000250000 |
user output |
---|
125000250000 |
Test 20
Group: 3
Verdict: ACCEPTED
input |
---|
0 |
correct output |
---|
1 |
user output |
---|
1 |
Test 21
Group: 3
Verdict: ACCEPTED
input |
---|
1 |
correct output |
---|
0 |
user output |
---|
0 |