QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#632603#9454. String of CCPCucup-team5234#AC ✓58ms3944kbC++171.9kb2024-10-12 13:38:412024-10-12 13:38:42

Judging History

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

  • [2024-10-12 13:38:42]
  • 评测
  • 测评结果:AC
  • 用时:58ms
  • 内存:3944kb
  • [2024-10-12 13:38:41]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
using uint = unsigned int;
using ll = long long;
using ull = unsigned long long;
template<class T> using V = vector<T>;
template<class T> using VV = V<V<T>>;
template<class T> using VVV = V<VV<T>>;
template<class T> using VVVV = VV<VV<T>>;
#define rep(i,n) for(ll i=0ll;i<n;i++)
#define REP(i,a,n) for(ll i=a;i<n;i++)
const long long INF = (1LL << 60);
const long long mod99 = 998244353;
const long long mod107 = 1000000007;
const long long mod = mod99;
#define eb emplace_back
#define be(v) (v).begin(),(v).end()
#define all(i,v) for(auto& i : v)
#define UQ(v) sort(be(v)), v.erase(unique(be(v)), v.end())
#define LB(x,v) (lower_bound(be(v),(x))-(v).begin())
#define UB(x,v) (upper_bound(be(v),(x))-(v).begin())
#define dout()  cout << fixed << setprecision(20)
#define randinit() srand((unsigned)time(NULL))

template<class T, class U> bool chmin(T& t, const U& u) { if (t > u){ t = u; return 1;} return 0; }
template<class T, class U> bool chmax(T& t, const U& u) { if (t < u){ t = u; return 1;} return 0; }




void solve(){
    ll n;
    string s;
    cin >> n >> s;
    s = "AAAAA" + s + "AAAAAA";
    n = s.size();
    ll cnt = 0;
    rep(i, n-4) if(s.substr(i, 4) == "CCPC") cnt++;
    ll ans = cnt;
    for(ll i=5; i<n-5; i++){
        ll d = 0;
        for(ll j=i-3; j<i; j++) if(s.substr(j,4) == "CCPC") d--;
        {
            ll e = 0;
            if(s.substr(i-3,3) == "CCP") e++;
            if(s.substr(i-1,3) == "CPC") e++;
            if(s.substr(i,3) == "CPC") e++;
            chmax(ans, cnt+d+e);
            
        }
        {
            ll e = 0;
            if(s.substr(i-2,3) == "CCC") e++;
            chmax(ans, cnt+d+e);
        }
    }
    cout << ans << endl;
}





int main(){
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    int t=1;
    cin >> t;
    rep(i,t) solve();
}

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

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3548kb

input:

3
3
CCC
5
CCCCP
4
CPCP

output:

1
1
1

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 58ms
memory: 3944kb

input:

20003
5
PCCPC
10
CPPPPCPCPC
4
CPPC
11
CCPPCPPPCCP
17
PPPPCPCCCCCPCCCCC
10
PPCCPCPPCP
9
CPCCCCPPC
11
PCPPPPCCPPP
15
CPCPPPPCCPCPCCC
11
PCCPPCCPCPP
9
PCPCCPPCP
10
CCPCPPPCPP
14
CCCCPPPCPCPCPP
2
CC
12
CCPCPPPPPCPP
6
CPPPPP
12
PCCPCCCCCPCC
16
CPCCPCCPPCCCCPPC
7
CPPPCPC
16
PPPPPCCPCPCPCPPC
13
PPPCPCCCCPP...

output:

1
1
0
1
2
1
1
1
2
2
1
1
1
0
1
0
3
2
1
2
1
2
2
0
1
2
3
1
1
3
1
2
2
1
0
0
0
3
1
0
0
1
1
2
0
1
1
0
1
2
0
1
0
1
0
3
1
1
0
2
1
3
2
2
0
2
2
0
0
2
1
1
3
3
1
3
1
2
0
1
1
0
1
2
2
1
1
2
1
3
1
1
3
1
2
2
0
1
0
3
0
1
1
2
2
0
2
1
1
2
2
0
3
1
1
1
1
2
1
2
0
1
1
0
3
0
3
1
1
0
0
1
0
3
0
1
1
1
1
2
2
1
1
0
0
1
2
0
1
2
...

result:

ok 20003 lines

Extra Test:

score: 0
Extra Test Passed