QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#156605#7109. Traveling on the Axisucup-team112#AC ✓12ms3756kbC++171.9kb2023-09-02 13:50:402023-09-02 14:34:28

Judging History

你现在查看的是最新测评结果

  • [2023-09-02 14:34:28]
  • 评测
  • 测评结果:AC
  • 用时:12ms
  • 内存:3756kb
  • [2023-09-02 13:50:40]
  • 提交

answer


#include <bits/stdc++.h>
#include <iostream>
#include <limits>
#include <numeric>
#include <type_traits>
#include <bitset>
#include <map>
#include <unordered_map>
#include <set>
#include <random>

using namespace std;
using ll = long long;

#define rep(i,n,m) for(ll (i)=(n);(i)<(m);(i)++)
#define rrep(i,n,m) for(ll (i)=(n);(i)>(m);(i)--)
const ll mod = 998244353;
const ll inf = 1e9;
const ll INF = 1e18;

using pll = pair<ll,ll>;

void pline(vector<ll> lis){
    rep(i,0,lis.size()){
        printf ("%d",lis[i]);
        if (i != lis.size()-1) printf(" ");
        else printf("\n");
    }
}

void pline2(vector<ll> lis){
    rep(i,0,lis.size()){
        printf ("%lld",lis[i]);
        if (i != lis.size()-1) printf("\n");
        else printf("\n");
    }
}

void pline(vector<pair<ll,ll>> lis){
    rep(i,0,lis.size()){
        printf ("/%lld,%lld/",lis[i].first,lis[i].second);
        if (i != lis.size()-1) printf(" ");
        else printf("\n");
    }
}

ll opmin(ll l,ll r){
    return min(l,r);
}
ll emin(){
    return INF;
}

ll opmax(ll l,ll r){
    return max(l,r);
}
ll emax(){
    return -INF;
}

ll opsum(ll l,ll r){
    return l+r;
}
ll esum(){
    return 0;
}

int main(){

    //ios::sync_with_stdio(false);
    //std::cin.tie(nullptr);

    ll tt;
    cin >> tt;

    rep(lp,0,tt){

        string s;
        cin >> s;

        ll n = s.size();
        
        ll ans = 0;
        rep(i,0,n){
            ans += (i+1) * (n-i);
        }

        //cout << ans << '\n';

        rep(i,0,n){
            
            // first
            if (s[i] == '0'){
                ans += n-i;
            }

            if ( i != n-1 && s[i] == s[i+1] ){
                ans += (i+1) * (n-i-1);
            }

        }

        cout << ans << '\n';

    }
}

/*

? ? ?
 0 0

101

1
 0
  1
10
 01
101


1
  1


*/

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3616kb

input:

3
101
011
11010

output:

12
15
43

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 12ms
memory: 3756kb

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:

ok 6107 lines

Extra Test:

score: 0
Extra Test Passed