QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#358517 | #407. Toilets | bonkar | 36 | 18ms | 4148kb | C++14 | 1.7kb | 2024-03-19 20:29:09 | 2024-03-19 20:29:09 |
Judging History
answer
/* Generated by the powerful Sio Tool
* You can download the binary file here: https://github.com/Arapak/sio-tool
* Author: (Karol Bonat)
* Time of creation: 2024-03-19 10:29:46
* Notes:
**/
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
constexpr int MAXN = 1000006;
int n, M;
int m, f;
bool tab[MAXN];
bool test(int lim){
int mc = m;
int fc = f;
int mf = (n/2-m);
int mr=0, fr=0;
for(int i = 1; i <= n; i){
if(tab[i] && fr){
fr--; i++; continue;
}
if(!tab[i] && mr){
mr--; i++; continue;
}
int j = i+1;
while(tab[i] && fr){
fr--; j++;
}
while(!tab[i] && mr){
mr--; j++;
}
if(tab[i] && tab[j] && mr < lim && mc){
mr++;
mc--;
fc--;
i=j;
continue;
}
if(tab[i] && tab[j]){
//We failed to joink (probably cnt=lim), try to push it through
if(mf){
i=j+1;
mf--;
fc-=2;
continue;
}
else{
return 0;
}
}
if(!tab[i] && !tab[j]){
//We automatically joink a fem
if(fc){
fr++;
fc--;
mc--;
i=j;
continue;
}
else{
return 0;
}
}
//We hae male-female, nothing happens
fc--;
mc--;
i=j+1;
}
return 1;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> M;
string s;
while(M--){
string t; int k;
cin >> t >> k;
while(k--){
s+=t;
}
}
for(char t : s){
m+=t=='M';
f+=t=='F';
}
if(m > n){
cout << "-1\n";
return 0;
}
n*=2;
for(int i = 1; i <= n; i++){
tab[i] = s[i-1]=='F';
}
//Motha fucka
int p = 0, k = n;
while(p <= k){
int s = (p+k)/2;
if(test(s)){
k=s-1;
}
else{
p=s+1;
}
}
cout << p << '\n';
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 14
Accepted
Test #1:
score: 14
Accepted
time: 0ms
memory: 3488kb
input:
10 1 FMFFFFFFMFFFMMMMMFMM 1
output:
5
result:
ok single line: '5'
Test #2:
score: 0
Accepted
time: 1ms
memory: 3544kb
input:
10 1 FFMFMMFFFFMMMFMMMMFF 1
output:
3
result:
ok single line: '3'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3564kb
input:
10 1 MFMMFFFMMFFMMMMFFFFF 1
output:
0
result:
ok single line: '0'
Test #4:
score: 0
Accepted
time: 1ms
memory: 3580kb
input:
10 1 FMFMFFMFMFMMFFMFMFMM 1
output:
1
result:
ok single line: '1'
Test #5:
score: 0
Accepted
time: 1ms
memory: 3632kb
input:
10 1 MFFFMFMMMMMMMMMFMFFM 1
output:
-1
result:
ok single line: '-1'
Test #6:
score: 0
Accepted
time: 1ms
memory: 3536kb
input:
10 1 FFFFFFFMMFMFMMMMFFMF 1
output:
2
result:
ok single line: '2'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3816kb
input:
10 1 FMFFFFFMMMFFFMMMFMMF 1
output:
2
result:
ok single line: '2'
Test #8:
score: 0
Accepted
time: 1ms
memory: 3544kb
input:
10 1 MFFMMMMMFFFFMMFFMMFF 1
output:
0
result:
ok single line: '0'
Test #9:
score: 0
Accepted
time: 0ms
memory: 3488kb
input:
10 1 MMMMMMFMFMMMFFMFMFMM 1
output:
-1
result:
ok single line: '-1'
Test #10:
score: 0
Accepted
time: 1ms
memory: 3632kb
input:
10 1 FFFFFFFFFFFFFFFFFFFF 1
output:
0
result:
ok single line: '0'
Test #11:
score: 0
Accepted
time: 1ms
memory: 3588kb
input:
10 1 MMMMMMMMMMMMMMMMMMMM 1
output:
-1
result:
ok single line: '-1'
Test #12:
score: 0
Accepted
time: 0ms
memory: 3836kb
input:
10 1 FFFFFFFFFFFFFFFMMMMM 1
output:
4
result:
ok single line: '4'
Test #13:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
10 1 FFFFFFFFFFMMMMMMMMMM 1
output:
9
result:
ok single line: '9'
Test #14:
score: 0
Accepted
time: 1ms
memory: 3584kb
input:
10 1 FMFMFMMFFFMFFMMMFMMF 1
output:
2
result:
ok single line: '2'
Test #15:
score: 0
Accepted
time: 5ms
memory: 3564kb
input:
10 1 FFFFFFFFFFFFFMMFMMMF 1
output:
2
result:
ok single line: '2'
Test #16:
score: 0
Accepted
time: 0ms
memory: 3780kb
input:
10 1 MMMMFMFFMFMFFFFMMFFM 1
output:
0
result:
ok single line: '0'
Test #17:
score: 0
Accepted
time: 0ms
memory: 3628kb
input:
10 1 MFMMFFFMMMMFFMMFFFMF 1
output:
0
result:
ok single line: '0'
Test #18:
score: 0
Accepted
time: 1ms
memory: 3544kb
input:
10 1 MFFFFMFMFFMMFMMFMFFM 1
output:
1
result:
ok single line: '1'
Test #19:
score: 0
Accepted
time: 1ms
memory: 3488kb
input:
10 1 MFFFFFFFFFFFFMFFFFFF 1
output:
0
result:
ok single line: '0'
Test #20:
score: 0
Accepted
time: 0ms
memory: 3524kb
input:
10 1 FFFMFFMFMMFFMMMMMFMF 1
output:
3
result:
ok single line: '3'
Test #21:
score: 0
Accepted
time: 0ms
memory: 3756kb
input:
10 1 MMFMFFFMFMMMFFMFMFFM 1
output:
0
result:
ok single line: '0'
Test #22:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
10 1 FFFFFFFFFFFMFFFFMFMM 1
output:
1
result:
ok single line: '1'
Subtask #2:
score: 22
Accepted
Dependency #1:
100%
Accepted
Test #23:
score: 22
Accepted
time: 7ms
memory: 4132kb
input:
100000 1 FFFFMMMFMFFMMMFFMFFFMFFFFFMMFFMMFMFFMFFFFMFFMMFFFFFFFFMFFMFMFMFFMFMFFFFFFMFMMFMMFMFFFFFFFFFMFMFFMFFMMFMFFFMFMFFFFFFMFMFFFFMFFMFMFMFFFMFFMFFFFFMMMFFMMFFFFFFFFFFFFMFFFFMFFFFFMMMFMFFFMMFFFMFMFFMMFFFFFMFFMFFFMFFFMFFMFFMFFFMFFMMFFFFFFFMFFFFFFFFFMFFFFFFFFFFFFFFFMMFFFFFMMMMFFFFMFMMFFMFFFFFMMMMFFFF...
output:
31813
result:
ok single line: '31813'
Test #24:
score: 0
Accepted
time: 15ms
memory: 4148kb
input:
100000 1 FMFFFMFMFFMMFFMMFFMMMFMMMFMMFFMMFFFFFFMFFMFFFFMFMFFMMFMFMMMFMFMFFFMFFFFFMFFFMFFMFMMMMMFMMFMFMMMFMFMMMFFMFMMFFMMFFFMMMFFFFFFMFFFMFFMMFFFFMFFMFFFFFMMFMFFFFMMFFMMFFMMFMMMMFMFFMMMFFMMMFFMFMFFMFMFFFFMFFFFMFFMFFFFFMMMFFFMFFMFFFFFFMFFFFFMMMFMFMFFMMMMMMFFMFMMFFFFFFFMFMFFFMMFMMFMFFMMFFMMFFMMFFMMFFMM...
output:
13113
result:
ok single line: '13113'
Test #25:
score: 0
Accepted
time: 14ms
memory: 3948kb
input:
100000 1 FFFFFFMFMFFFMFFFFFFFFFFFMMMFFFMFMMFMFFFMFMMFFFMFFMFFFFMFFFMMFMMFFMFMFFMMMFFMMFFFFFMMFMFFMFMMMFFFFFFFMMFFFFFFFFFFFMFMMFMMFFFMFFFFFFFFFFFFMFMFFFFFMMFFMFMFFFFFFFFFFFMMFFFFMFFFFFMMFFFFMFMMMMFFMFMFMMFFMFMFFFMFMFMFFMFFMMFFFFFFFMFFMMFFMFMFFFFMMMMMFFFMMFFMFFFFFMFFFFFFFFFFFFFFFFFMFFMFFFFFMFFFMFFFFFF...
output:
2798
result:
ok single line: '2798'
Test #26:
score: 0
Accepted
time: 2ms
memory: 3868kb
input:
100000 1 FFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...
output:
6652
result:
ok single line: '6652'
Test #27:
score: 0
Accepted
time: 1ms
memory: 3700kb
input:
100000 1 MMMMFMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMFFMMMMMMMMMMMMMMMFMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMFMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMM...
output:
-1
result:
ok single line: '-1'
Test #28:
score: 0
Accepted
time: 10ms
memory: 3924kb
input:
100000 1 FFFFFFFFMMFFFMMFFMFMFFFFMFMFMMMFFFFFMFMMMMFMFFMMFMFMMFFFFMFMFFFFFMFFFFFFMMFMMMMMFFFMFMFFFMMMMMMMFMMMFFFMFFFMMFMMFMFFMFFMMMFFFFMMFMMFFMFFFFMMFFFFFFFMFMFFFFFFMMMFMMFFMFMFMFMFFFFFMMFMMFMFMMFMFFMFFMFFFFFFMFFMFFFFFFFMMMFMFMMMMFFFFFFFMMFMMFFMMMFMFFFFFMMFFMFMMMMFFFMFMFMFMFFFMMMMFMMFMFFMFMMMFFMMMMM...
output:
0
result:
ok single line: '0'
Test #29:
score: 0
Accepted
time: 15ms
memory: 3900kb
input:
100000 1 FFFFFMMMFFMFFMFFFFFFMFFMFMFMMMFFFMMFFFFFFMFMFFMFFMFFFFFFFFMFMMFMFFFFFFFFFMFMFFFFFFMFFFFFMFFMFFMMMFFFFFMMMFFMFFMFMMFFFFFMFFMMFFFMMFFFFFFMMMFFFMFFMMMFFMFFFFFFMFFFMMMFFFFMFFMFFFFFFFFMFMFFMFFFFFFMFFFFFFMMFFMFMFFFFFFMFFFFMMFMFFFFFMFFMMFFMFMFFFFFFFMMFMMMFFFFFFMFFMMMFFFFFFFMFFMFFFFMMFFFFMMFFFMFMMF...
output:
0
result:
ok single line: '0'
Test #30:
score: 0
Accepted
time: 10ms
memory: 4132kb
input:
100000 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...
output:
39879
result:
ok single line: '39879'
Test #31:
score: 0
Accepted
time: 17ms
memory: 3844kb
input:
100000 1 FMFFMMMFMFMMMMMFMMMMMFMFMMFFMMMMMFMMMMMMMFMFFMMMFMFFFMMFFMMMFMMMMMFMMMMMMMMMMMMMMMMMFMFMFMFFFMMMFMMFFFMMMFMMFMMMMMMFMMFMMMMMMFMMMMFMMMMMMFMMFMMMFMMFMMFMMMFMFFMMMMMMMFMMMFMMMMMFMFMMFFMMFFFFFMMMMFMMFMMMMMMMFFMFFFMMMMMFMMMMMFFMMMFMFMMMFMMMMMMMMMFMMFMMMMFMMFMMMMMMMMMMMFMMMMFMFMMFMFMFMFMFMFFMMFM...
output:
0
result:
ok single line: '0'
Test #32:
score: 0
Accepted
time: 10ms
memory: 3924kb
input:
100000 1 MFMFFFFFFFFFFMFFFFFFFFMFFFFFFMMFMFFMFMFFFMFFFFMFFMFFFFFFMFFFFFFMFMFFMMFFMFMMMMMFMFFFFMFMFFMFFFMMMMFMFMMFFMMMFFFFFFMFFFMFMFFMFMFMFFFFFFFFFMFFMFMFFFFFMFMFFMFFFFMFFFFFFMFFFFFFFFFMFFMFFFMMFMFFFFMFFMMFFFFMMFFFMFFMFMFFMFMMFFMFMFFMFMFFFFFMMFFMFFMFFFFFMMFFMMFFMMFMMFFFFFFFFFFFFFFFMFFFFFMMFFFFFFMMMMF...
output:
16534
result:
ok single line: '16534'
Test #33:
score: 0
Accepted
time: 0ms
memory: 3932kb
input:
100000 1 MMMMMMMMMMMMMFMMMMMMMMFFFFMMMMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMFMMMFMMMMMMMMMMMMMFFMMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMMFMMFMMMFMMMMMMMMMFMMMMMMFMMMMMMMMMMMFMFMFMMMMMMMMMMMMMMFMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMFMMMFMMMMMMMMMMMMMMMM...
output:
-1
result:
ok single line: '-1'
Test #34:
score: 0
Accepted
time: 8ms
memory: 3860kb
input:
100000 1 FFFFFFFFMFFFFMFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFMFFMFMFFFFMFMFFFFFMFFFFFFFMFFMFMFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFMFMFFFFFFFFFFFFFFFFMFFFFFMFFFFFFFFFFFFMFFFFFFFFFFMFFMFFMFMFMFFFMFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFMFMFFMFMFFFFFFFFMFFFMFFFFFFFMMFFFMFFFFFFFFMMMFMMFFFFFFMMFFFFFFFFFFFF...
output:
1
result:
ok single line: '1'
Test #35:
score: 0
Accepted
time: 18ms
memory: 4148kb
input:
100000 1 MMMFFMFFMFFFMFMFFMMMFFFFMFMMMMFMMMFMFMMFMMFFMFFMMFMFMMMFFFMMFMMMFMMFFFMFMFMMMMFMMMMMFFFFFMFMMFMFFFFFFFMFMFFFMFMFFFFMFMFFFFMMFMMMFMMFMMFMFFMFMMMFFFFMFMMFMMMMMFMFMFFMMFFMFFMFFMFMMMFFMMFMMMFFMMMMMFMFMMMMFMMFFFMMMMMFMFMFFMFFMFMMFFMMFMMFMMFFMMFMMFFMMFMFMMMFFFMMFMFMMFFMMMFMMFMFMMFMFMMFFMMMMMMMMMF...
output:
47
result:
ok single line: '47'
Test #36:
score: 0
Accepted
time: 18ms
memory: 3880kb
input:
100000 1 MMMMFMFFMFMMFFMFFMMMFFFMFFMMMMFFFFFMMFFFFMMMFMMFFFMMFMFMMMMFMMFMMMMMFFFFMMFFMFMMFFMFFMFMFMMFFFFMMFFFMFMMFMMFMMFMFFMFFMMMMMMFMMFMFMMFFMMMFFFFMMFMFFFFMMMMMFMMMMFFMMFFFFMFMFMMFFFMFFMMFMMFMFMMFFFMMMMFMMMMFFFFFFMMMFFFMMMFMMFMFFFMFMMFFFFFFMFFFMFMFFMFMFMMMFFMMMMFFMMFMMMMFMFMFFMMMMFFMFFMFMFFFFFFFFF...
output:
29
result:
ok single line: '29'
Test #37:
score: 0
Accepted
time: 8ms
memory: 3888kb
input:
100000 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFMFFFFFMFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFMFFF...
output:
0
result:
ok single line: '0'
Test #38:
score: 0
Accepted
time: 1ms
memory: 3868kb
input:
100000 1 FFFFMMMFFFMFMFMFMMFFFFMMMFMFFFFFMFMMFMMMMFFFMMFMMFFMFFFFMFMFFFFMMFMMFFMFMMMFFFMMFMFFMFMFMFMFMFFMFMFFMMMFFFFMMMFFMFFFFMFFFMFMMMFFFFMFFFFMMFMFMFMFMMMMFMFMMMFMMMMFMFFFFFFMMFMMFFMFMFMFMMFMFMFFFFMMMFMMMFMMFFFMMFFMFMFMFFFMMMMFMMMFMFFMMFFMFMMFFFMFFFMFFFMFMMFMFFMMMMFMMMFFMFFFMFMMMMFFMMFMFMMMFFMFFFM...
output:
-1
result:
ok single line: '-1'
Test #39:
score: 0
Accepted
time: 10ms
memory: 3840kb
input:
100000 1 FFMMFMMMMMMFMMMFMMMMFFMMMFFMMMFFFMMFFFMMFMFMMMFFFFMFMMMMFMFMFFMMMFMMMMMFFMMFMFMMFMMMMMMMMMMMFMMMFFMMMMMFMMMMFMFFMMMMMMMFFMMMFFMMMFMMMMFMMMFFMMMFMFMMMFMMMMFMMMMFMMFFMMFMMFMMMMMMFFFMMMMMFMMFFMMMMMFMMFMMFFMMFMMMMMMMMMFMMMMFFMFMFMFMMMMMFMMMFFMFMMMFFMMMFMMMFMMMMFFMMMFFMMFMFFMMFFFMFMFMMMMMMMMMFMF...
output:
0
result:
ok single line: '0'
Test #40:
score: 0
Accepted
time: 12ms
memory: 3904kb
input:
100000 1 MFFFFFFFFFFFFFFMMFFFMFFFFFFFFFFFFFFFMFFFFFMFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFMFMFMFFFFFFMMFFFFMFFFFFFFFMFFMFMMFFFFFFFMFMMFFFFFMMFMFMMFFFFFFFFFFFFFFFFMFFFFFFFMFFFFFMFFMFFFFFFFFFMMFFFFFFFFFFFFFMFFFFFMFFMFFFFFFFMFFMFFFFMFMMFMFFMFFFMFFMFFFMFFFFFFMFMFFFFFFFFFFFMFFFFFFFFFFFMFFFFFFF...
output:
4355
result:
ok single line: '4355'
Subtask #3:
score: 0
Wrong Answer
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Test #41:
score: 0
Wrong Answer
time: 1ms
memory: 3540kb
input:
1000000000000000000 100000 M 9816839753426 F 32891239202155 M 3269965263224 F 2229727361723 M 30485569651326 F 21959175763651 M 2701631477059 F 8659750955926 M 9425320424984 F 2510850084526 M 3240680154707 F 27272737860189 M 16804398749196 F 37559052071696 M 21024350278786 F 27634028774163 M 7449319...
output:
0
result:
wrong answer 1st lines differ - expected: '-1', found: '0'