QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#167275 | #7175. Mixed Messages | ucup-team266# | AC ✓ | 10ms | 24256kb | C++14 | 1.9kb | 2023-09-07 13:21:51 | 2023-09-07 13:21:52 |
Judging History
answer
#include<bits/stdc++.h>
#define rep(i, n) for(int i = 0; i < n;++i)
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pii;
const int inf = 0x3f3f3f3f;
const int Mod = 1e9 + 7;
inline int sign(int a){ return (a&1) ? (Mod-1) : 1; }
inline void uadd(int &a, int b){ a += b-Mod; a += (a>>31) & Mod; }
inline void usub(int &a, int b){ a -= b, a += (a>>31) & Mod; }
inline void umul(int &a, int b){ a = (int)(1ll * a * b % Mod); }
inline int add(int a, int b){ a += b-Mod; a += (a>>31) & Mod; return a; }
inline int sub(int a, int b){ a -= b, a += (a>>31) & Mod; return a; }
inline int mul(int a, int b){ a = (int)(1ll * a * b % Mod); return a; }
int qpow(int b, int p){ int ret = 1; while(p){ if(p&1) umul(ret, b); umul(b, b), p >>= 1; } return ret; }
void chmax(int &a, int b){ (b > a) ? (a = b) : 0; }
int n;
string s;
const string targ = "spbsu";
int nxt[26][100100], pre[26][100100];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> s;
rep(i, 26) nxt[i][n] = n;
for(int i = n-1; i >= 0; --i){
rep(j, 26)
nxt[j][i] = nxt[j][i+1];
nxt[s[i] - 'a'][i] = i;
}
rep(i, 26) pre[0][i] = 0;
rep(i, n){
rep(j, 26) pre[j][i+1] = pre[j][i];
pre[s[i] - 'a'][i+1] = i+1;
}
int ans = inf;
rep(i, n) if(s[i] == targ[2]){
deque<int> ps;
ps.emplace_back(i);
int p = i;
for(int j = 3; j < 5; ++j){
//cout << j << endl;
p = nxt[targ[j] - 'a'][p + 1];
ps.emplace_back(p);
if(p >= n) break;
}
if(p >= n) continue;
p = i;
for(int j = 1; j >= 0; --j){
//cout << j << endl;
p = pre[targ[j] - 'a'][p] - 1;
ps.emplace_front(p);
if(p < 0) break;
}
if(p < 0) continue;
//cout << (int)ps.size() << endl;
//rep(j, 5) cout << ps[j] << " ";
//cout << endl;
ans = min(ans, (ps[2] - ps[1] - 1) + (ps[3] - ps[2] - 1) + (ps[2] - ps[0] - 2) + (ps[4] - ps[2] - 2));
}
cout << ans << "\n";
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 13908kb
input:
6 spbssu
output:
1
result:
ok answer is '1'
Test #2:
score: 0
Accepted
time: 1ms
memory: 13948kb
input:
15 spongebaseurban
output:
11
result:
ok answer is '11'
Test #3:
score: 0
Accepted
time: 0ms
memory: 13908kb
input:
5 spbsu
output:
0
result:
ok answer is '0'
Test #4:
score: 0
Accepted
time: 1ms
memory: 13844kb
input:
6 sppbsu
output:
1
result:
ok answer is '1'
Test #5:
score: 0
Accepted
time: 1ms
memory: 13916kb
input:
13 spbpbsaaaaaau
output:
8
result:
ok answer is '8'
Test #6:
score: 0
Accepted
time: 1ms
memory: 13948kb
input:
100 supsuuuupusbsubsssbpbuubsppppspsusupbuusbuspupuubuspppusubsupbubusbsbsppbuspuspbbusppuppubuubbusbups
output:
4
result:
ok answer is '4'
Test #7:
score: 0
Accepted
time: 1ms
memory: 13940kb
input:
100 nmpnzouzoosynvhsqljejmgwwgmmuaptmazvneojjgapiizxdengrritcqhppnkjxtqsbsvxsuypgbvatxbzmkpcpnizdsmhdzkt
output:
61
result:
ok answer is '61'
Test #8:
score: 0
Accepted
time: 8ms
memory: 23964kb
input:
100000 supsuuuupupbsubsssbpbuubsppppspsusupbuusbuspupuubuspppusubsuububusbsssppbsspuspbbusppuppubuubbusbupspbsusbsuusussssbusubuupppspppusupbspbsbspubbpsuppusbbubuuubpbbubuubbuspbubpbpsbbusubussbsbubbussspbspbubbupsssuusbbssuspbssupusbpppusssppbpsspbppupsssuupbpupussupbsbuubupppubsspsubuubsbubbppuus...
output:
0
result:
ok answer is '0'
Test #9:
score: 0
Accepted
time: 5ms
memory: 24256kb
input:
100000 nmpnzouzoozynvhsqljejmgwwgmmuaptmazvneojjgapiizxdengrritcqhpcnkjxtqsjtvxsbypgbvatxbzmkpcpnizdsmhdzktphjryltupnkahdlbudksxcukgdkexxdxrtypwqttcpjspnucumswliqciutgdaztpvhbutoscnvscylauhrhchwwstonaghwlmnnrdvdbrxafacihdhstibpqyaeckfqcmeetynurqoyaxakcuoyqwuiztkzxeyqcrjqnixfucpkzljhkquwvijhnzyfxiixn...
output:
5
result:
ok answer is '5'
Test #10:
score: 0
Accepted
time: 1ms
memory: 24024kb
input:
100000 sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss...
output:
0
result:
ok answer is '0'
Test #11:
score: 0
Accepted
time: 1ms
memory: 24180kb
input:
100000 spppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp...
output:
99995
result:
ok answer is '99995'
Test #12:
score: 0
Accepted
time: 6ms
memory: 24256kb
input:
100000 spbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...
output:
199990
result:
ok answer is '199990'
Test #13:
score: 0
Accepted
time: 3ms
memory: 23960kb
input:
100000 spbssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss...
output:
99995
result:
ok answer is '99995'
Test #14:
score: 0
Accepted
time: 4ms
memory: 23904kb
input:
100000 spbsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu...
output:
0
result:
ok answer is '0'
Test #15:
score: 0
Accepted
time: 10ms
memory: 24256kb
input:
100000 sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss...
output:
79996
result:
ok answer is '79996'
Test #16:
score: 0
Accepted
time: 8ms
memory: 24256kb
input:
100000 spspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspsps...
output:
6
result:
ok answer is '6'
Test #17:
score: 0
Accepted
time: 5ms
memory: 24008kb
input:
100000 spbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspbsuspb...
output:
0
result:
ok answer is '0'
Test #18:
score: 0
Accepted
time: 1ms
memory: 23968kb
input:
100000 spbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbspbsp...
output:
2
result:
ok answer is '2'
Test #19:
score: 0
Accepted
time: 3ms
memory: 24024kb
input:
100000 aausuabubupppauppuaupapaapaaaspbusssbapuuupapbusbpsauppsuppbapuassububbsssupappsbaauauauausubusppsbbsppsasupbusaauaaasbasuubusaaupupbuapsasaabsspaaasabbbpaappsuspbpappapssbsupupbusuuabbsuupusupsbabbbaauspauuasbspbubauupsuusspusupppbbbbuupbusssussupbbssaauubuusbsubabubssuapuspbabpauuaaaaaaasbs...
output:
0
result:
ok answer is '0'
Test #20:
score: 0
Accepted
time: 4ms
memory: 23960kb
input:
100000 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
0
result:
ok answer is '0'
Extra Test:
score: 0
Extra Test Passed