QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#203730 | #7109. Traveling on the Axis | ucup-team484 | WA | 3ms | 4020kb | C++17 | 779b | 2023-10-06 19:43:44 | 2023-10-06 19:43:44 |
Judging History
answer
#include <bits/stdc++.h>
#define sz(x) (int)(x).size()
#define all(x) (x).begin(), (x).end()
#define st first
#define nd second
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
const int N = 1e6 + 5;
void solve() {
string s; cin >> s;
int n = sz(s);
ll ans = n * 1ll * (n + 1) * 1ll * (n + 2) / 6;
for (int i = 1; i < n; i += 2)
s[i] ^= 1;
vector<ll> cnt(2);
for (int i = n - 1, f = 0; i >= 0; i--, f ^= 1) {
s[i] -= '0';
cnt[s[i]]++;
if (i + 1 < n && s[i] != s[i + 1])
cnt[s[i]] += cnt[!s[i]] + n - i - 1;
// cout << cnt[0] << " " << cnt[1] << " " << f << endl;
ans += cnt[f];
}
cout << ans << "\n";
}
int main() {
ios_base::sync_with_stdio(false); cin.tie(0);
int t; cin >> t; while (t--) solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3612kb
input:
3 101 011 11010
output:
12 15 43
result:
ok 3 lines
Test #2:
score: -100
Wrong Answer
time: 3ms
memory: 4020kb
input:
6107 1010101 010110100110101 1010 1010101010010101010 101011 0101101011010101010 0101101011 11011010101 010 1011010 10110101010101010100 010101010110101 10101010101011 0101010101010101011 00101010011000 1010101010010110110 01010101001010101010 101010101010101 100100101010101010 01 011 0101010100101 ...
output:
96 943 26 1515 74 1587 284 345 14 106 1730 791 630 1447 807 1674 1733 736 1325 5 15 542 44 1703 1515 136 853 497 617 26 1650 683 438 26 421 14 1041 1547 96 504 131 74 567 954 771 943 5 1 321 158 786 749 206 769 46 103 233 75 559 2 100 529 253 207 197 2 197 1041 136 885 207 1 87 1636 41 343 1041 14 1...
result:
wrong answer 2nd lines differ - expected: '889', found: '943'