QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#577541 | #7109. Traveling on the Axis | obliviatecqupt | WA | 91ms | 18504kb | C++20 | 939b | 2024-09-20 12:36:51 | 2024-09-20 12:36:52 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>
#define int long long
void solve(){
int n;
string s;
cin >> s;
n = s.size();
int ans = 0;
int sum = 0;
vector<vector<vector<int>>> cnt(n+1, vector<vector<int>>(2, vector<int>(2)));
for(int j = 1; j <= n; j++){
if(s[j-1] == '1'){
cnt[j][1][1] = cnt[j-1][0][1] + cnt[j-1][0][0] + 1;
cnt[j][1][0] = cnt[j-1][1][0] + cnt[j-1][1][1];
}else{
cnt[j][0][0] = cnt[j-1][0][1] + cnt[j-1][0][0] + 1;
cnt[j][0][1] = cnt[j-1][1][0] + cnt[j-1][1][1];
}
sum += cnt[j][1][1] + cnt[j][0][1];
sum += 2 * (cnt[j][1][0] + cnt[j][0][0]);
// printf("%d : %d\n", j, sum);
ans += sum;
}
printf("\n");
cout << ans << '\n';
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int _;
cin >> _;
while(_--) solve();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3852kb
input:
3 101 011 11010
output:
12 15 43
result:
ok 3 lines
Test #2:
score: -100
Wrong Answer
time: 91ms
memory: 18504kb
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 889 24 1515 69 1567 279 345 14 106 1702 791 621 1447 764 1615 1755 736 1333 6 15 542 44 1689 1515 140 833 497 596 24 1640 694 462 30 425 14 1041 1446 96 504 124 75 560 970 771 945 6 1 321 137 786 720 206 769 46 103 225 74 554 2 100 529 260 207 197 2 197 1041 140 857 207 1 74 1604 41 343 1041 14 1...
result:
wrong answer 2146th lines differ - expected: '806', found: ''