QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#358119 | #407. Toilets | WojciechFirczuk | 36 | 21ms | 7720kb | C++14 | 1.8kb | 2024-03-19 17:23:31 | 2024-03-19 17:23:55 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll base = (1<<18);
ll n, m, tree[2*base];
struct Osoba
{
ll pos, ile;
};
vector<Osoba> men;
ll query(ll v)
{
v+=base;
ll ans = tree[v];
while(v/=2)
{
ans+=tree[v];
}
return ans;
}
void add(ll a, ll b, ll l=1, ll r=base, ll v=1)
{
if(r<a || b<l) return;
else if(a<=l && r<=b) tree[v]++;
else
{
add(a,b,l,(l+r)/2,2*v);
add(a,b,(l+r)/2+1,r,2*v+1);
}
}
ll binsearch(ll x)
{
ll l=-1, r=men.size()-1, sr;
while(l+1<r)
{
sr = (l+r)/2;
if(men[sr].pos<x) l = sr;
else r = sr;
}
return r;
}
int32_t main()
{
ios_base::sync_with_stdio(0), cin.tie(0);
cin>>n>>m;
string s; ll ilem=0, ilek=0, ilemen=0;
for(ll k, itr=0;itr<m;itr++)
{
cin>>s>>k;
ll temp = 0;
for(ll i=0;i<s.size();i++)
{
if(s[i]=='M')
{
temp++;
men.push_back({i,i-temp+1});
}
}
ilemen+=temp*k;
}
if(ilemen>n)
{
cout<<-1;
return 0;
}
for(ll i=0;i<s.size();i+=2)
{
if(s[i]=='M') ilem++;
else ilek++;
if(s[i+1]=='M') ilem++;
else ilek++;
if(ilek-ilem > 2*(n-ilemen))
{
ll x = binsearch(i+1);
add(ilek, men[x].ile);
ilem++; ilek--;
s[men[x].pos] = 'F';
s[i] = 'M';
men[x].pos=i; men[x].ile=ilek;
}
}
ll ans = 0;
for(ll i=1;i<=ilek;i++)
{
ans = max(ans,query(i));
}
cout<<ans;
// cout<<"\n"<<s;
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 14
Accepted
Test #1:
score: 14
Accepted
time: 1ms
memory: 3620kb
input:
10 1 FMFFFFFFMFFFMMMMMFMM 1
output:
5
result:
ok single line: '5'
Test #2:
score: 0
Accepted
time: 1ms
memory: 3768kb
input:
10 1 FFMFMMFFFFMMMFMMMMFF 1
output:
3
result:
ok single line: '3'
Test #3:
score: 0
Accepted
time: 1ms
memory: 3812kb
input:
10 1 MFMMFFFMMFFMMMMFFFFF 1
output:
0
result:
ok single line: '0'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3528kb
input:
10 1 FMFMFFMFMFMMFFMFMFMM 1
output:
1
result:
ok single line: '1'
Test #5:
score: 0
Accepted
time: 1ms
memory: 3576kb
input:
10 1 MFFFMFMMMMMMMMMFMFFM 1
output:
-1
result:
ok single line: '-1'
Test #6:
score: 0
Accepted
time: 1ms
memory: 3632kb
input:
10 1 FFFFFFFMMFMFMMMMFFMF 1
output:
2
result:
ok single line: '2'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
10 1 FMFFFFFMMMFFFMMMFMMF 1
output:
2
result:
ok single line: '2'
Test #8:
score: 0
Accepted
time: 0ms
memory: 3536kb
input:
10 1 MFFMMMMMFFFFMMFFMMFF 1
output:
0
result:
ok single line: '0'
Test #9:
score: 0
Accepted
time: 1ms
memory: 3500kb
input:
10 1 MMMMMMFMFMMMFFMFMFMM 1
output:
-1
result:
ok single line: '-1'
Test #10:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
10 1 FFFFFFFFFFFFFFFFFFFF 1
output:
0
result:
ok single line: '0'
Test #11:
score: 0
Accepted
time: 1ms
memory: 3488kb
input:
10 1 MMMMMMMMMMMMMMMMMMMM 1
output:
-1
result:
ok single line: '-1'
Test #12:
score: 0
Accepted
time: 1ms
memory: 3532kb
input:
10 1 FFFFFFFFFFFFFFFMMMMM 1
output:
4
result:
ok single line: '4'
Test #13:
score: 0
Accepted
time: 1ms
memory: 3824kb
input:
10 1 FFFFFFFFFFMMMMMMMMMM 1
output:
9
result:
ok single line: '9'
Test #14:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
10 1 FMFMFMMFFFMFFMMMFMMF 1
output:
2
result:
ok single line: '2'
Test #15:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
10 1 FFFFFFFFFFFFFMMFMMMF 1
output:
2
result:
ok single line: '2'
Test #16:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
10 1 MMMMFMFFMFMFFFFMMFFM 1
output:
0
result:
ok single line: '0'
Test #17:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
10 1 MFMMFFFMMMMFFMMFFFMF 1
output:
0
result:
ok single line: '0'
Test #18:
score: 0
Accepted
time: 0ms
memory: 3496kb
input:
10 1 MFFFFMFMFFMMFMMFMFFM 1
output:
1
result:
ok single line: '1'
Test #19:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
10 1 MFFFFFFFFFFFFMFFFFFF 1
output:
0
result:
ok single line: '0'
Test #20:
score: 0
Accepted
time: 0ms
memory: 3636kb
input:
10 1 FFFMFFMFMMFFMMMMMFMF 1
output:
3
result:
ok single line: '3'
Test #21:
score: 0
Accepted
time: 0ms
memory: 3780kb
input:
10 1 MMFMFFFMFMMMFFMFMFFM 1
output:
0
result:
ok single line: '0'
Test #22:
score: 0
Accepted
time: 0ms
memory: 3608kb
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: 14ms
memory: 6344kb
input:
100000 1 FFFFMMMFMFFMMMFFMFFFMFFFFFMMFFMMFMFFMFFFFMFFMMFFFFFFFFMFFMFMFMFFMFMFFFFFFMFMMFMMFMFFFFFFFFFMFMFFMFFMMFMFFFMFMFFFFFFMFMFFFFMFFMFMFMFFFMFFMFFFFFMMMFFMMFFFFFFFFFFFFMFFFFMFFFFFMMMFMFFFMMFFFMFMFFMMFFFFFMFFMFFFMFFFMFFMFFMFFFMFFMMFFFFFFFMFFFFFFFFFMFFFFFFFFFFFFFFFMMFFFFFMMMMFFFFMFMMFFMFFFFFMMMMFFFF...
output:
31813
result:
ok single line: '31813'
Test #24:
score: 0
Accepted
time: 16ms
memory: 6652kb
input:
100000 1 FMFFFMFMFFMMFFMMFFMMMFMMMFMMFFMMFFFFFFMFFMFFFFMFMFFMMFMFMMMFMFMFFFMFFFFFMFFFMFFMFMMMMMFMMFMFMMMFMFMMMFFMFMMFFMMFFFMMMFFFFFFMFFFMFFMMFFFFMFFMFFFFFMMFMFFFFMMFFMMFFMMFMMMMFMFFMMMFFMMMFFMFMFFMFMFFFFMFFFFMFFMFFFFFMMMFFFMFFMFFFFFFMFFFFFMMMFMFMFFMMMMMMFFMFMMFFFFFFFMFMFFFMMFMMFMFFMMFFMMFFMMFFMMFFMM...
output:
13113
result:
ok single line: '13113'
Test #25:
score: 0
Accepted
time: 8ms
memory: 5548kb
input:
100000 1 FFFFFFMFMFFFMFFFFFFFFFFFMMMFFFMFMMFMFFFMFMMFFFMFFMFFFFMFFFMMFMMFFMFMFFMMMFFMMFFFFFMMFMFFMFMMMFFFFFFFMMFFFFFFFFFFFMFMMFMMFFFMFFFFFFFFFFFFMFMFFFFFMMFFMFMFFFFFFFFFFFMMFFFFMFFFFFMMFFFFMFMMMMFFMFMFMMFFMFMFFFMFMFMFFMFFMMFFFFFFFMFFMMFFMFMFFFFMMMMMFFFMMFFMFFFFFMFFFFFFFFFFFFFFFFFMFFMFFFFFMFFFMFFFFFF...
output:
2798
result:
ok single line: '2798'
Test #26:
score: 0
Accepted
time: 5ms
memory: 3872kb
input:
100000 1 FFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...
output:
6652
result:
ok single line: '6652'
Test #27:
score: 0
Accepted
time: 0ms
memory: 7504kb
input:
100000 1 MMMMFMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMFFMMMMMMMMMMMMMMMFMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMFMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMM...
output:
-1
result:
ok single line: '-1'
Test #28:
score: 0
Accepted
time: 2ms
memory: 5436kb
input:
100000 1 FFFFFFFFMMFFFMMFFMFMFFFFMFMFMMMFFFFFMFMMMMFMFFMMFMFMMFFFFMFMFFFFFMFFFFFFMMFMMMMMFFFMFMFFFMMMMMMMFMMMFFFMFFFMMFMMFMFFMFFMMMFFFFMMFMMFFMFFFFMMFFFFFFFMFMFFFFFFMMMFMMFFMFMFMFMFFFFFMMFMMFMFMMFMFFMFFMFFFFFFMFFMFFFFFFFMMMFMFMMMMFFFFFFFMMFMMFFMMMFMFFFFFMMFFMFMMMMFFFMFMFMFMFFFMMMMFMMFMFFMFMMMFFMMMMM...
output:
0
result:
ok single line: '0'
Test #29:
score: 0
Accepted
time: 5ms
memory: 5404kb
input:
100000 1 FFFFFMMMFFMFFMFFFFFFMFFMFMFMMMFFFMMFFFFFFMFMFFMFFMFFFFFFFFMFMMFMFFFFFFFFFMFMFFFFFFMFFFFFMFFMFFMMMFFFFFMMMFFMFFMFMMFFFFFMFFMMFFFMMFFFFFFMMMFFFMFFMMMFFMFFFFFFMFFFMMMFFFFMFFMFFFFFFFFMFMFFMFFFFFFMFFFFFFMMFFMFMFFFFFFMFFFFMMFMFFFFFMFFMMFFMFMFFFFFFFMMFMMMFFFFFFMFFMMMFFFFFFFMFFMFFFFMMFFFFMMFFFMFMMF...
output:
0
result:
ok single line: '0'
Test #30:
score: 0
Accepted
time: 21ms
memory: 6724kb
input:
100000 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...
output:
39879
result:
ok single line: '39879'
Test #31:
score: 0
Accepted
time: 5ms
memory: 5436kb
input:
100000 1 FMFFMMMFMFMMMMMFMMMMMFMFMMFFMMMMMFMMMMMMMFMFFMMMFMFFFMMFFMMMFMMMMMFMMMMMMMMMMMMMMMMMFMFMFMFFFMMMFMMFFFMMMFMMFMMMMMMFMMFMMMMMMFMMMMFMMMMMMFMMFMMMFMMFMMFMMMFMFFMMMMMMMFMMMFMMMMMFMFMMFFMMFFFFFMMMMFMMFMMMMMMMFFMFFFMMMMMFMMMMMFFMMMFMFMMMFMMMMMMMMMFMMFMMMMFMMFMMMMMMMMMMMFMMMMFMFMMFMFMFMFMFMFFMMFM...
output:
0
result:
ok single line: '0'
Test #32:
score: 0
Accepted
time: 14ms
memory: 6888kb
input:
100000 1 MFMFFFFFFFFFFMFFFFFFFFMFFFFFFMMFMFFMFMFFFMFFFFMFFMFFFFFFMFFFFFFMFMFFMMFFMFMMMMMFMFFFFMFMFFMFFFMMMMFMFMMFFMMMFFFFFFMFFFMFMFFMFMFMFFFFFFFFFMFFMFMFFFFFMFMFFMFFFFMFFFFFFMFFFFFFFFFMFFMFFFMMFMFFFFMFFMMFFFFMMFFFMFFMFMFFMFMMFFMFMFFMFMFFFFFMMFFMFFMFFFFFMMFFMMFFMMFMMFFFFFFFFFFFFFFFMFFFFFMMFFFFFFMMMMF...
output:
16534
result:
ok single line: '16534'
Test #33:
score: 0
Accepted
time: 4ms
memory: 7720kb
input:
100000 1 MMMMMMMMMMMMMFMMMMMMMMFFFFMMMMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMFMMMFMMMMMMMMMMMMMFFMMMMMMFMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMMFMMFMMMFMMMMMMMMMFMMMMMMFMMMMMMMMMMMFMFMFMMMMMMMMMMMMMMFMMMMMMMFMMMMMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMMMMMMMFMMMFMMMMMMMMMMMMMMMM...
output:
-1
result:
ok single line: '-1'
Test #34:
score: 0
Accepted
time: 4ms
memory: 4144kb
input:
100000 1 FFFFFFFFMFFFFMFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFMFFMFMFFFFMFMFFFFFMFFFFFFFMFFMFMFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFMFMFFFFFFFFFFFFFFFFMFFFFFMFFFFFFFFFFFFMFFFFFFFFFFMFFMFFMFMFMFFFMFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFMFMFFMFMFFFFFFFFMFFFMFFFFFFFMMFFFMFFFFFFFFMMMFMMFFFFFFMMFFFFFFFFFFFF...
output:
1
result:
ok single line: '1'
Test #35:
score: 0
Accepted
time: 3ms
memory: 5440kb
input:
100000 1 MMMFFMFFMFFFMFMFFMMMFFFFMFMMMMFMMMFMFMMFMMFFMFFMMFMFMMMFFFMMFMMMFMMFFFMFMFMMMMFMMMMMFFFFFMFMMFMFFFFFFFMFMFFFMFMFFFFMFMFFFFMMFMMMFMMFMMFMFFMFMMMFFFFMFMMFMMMMMFMFMFFMMFFMFFMFFMFMMMFFMMFMMMFFMMMMMFMFMMMMFMMFFFMMMMMFMFMFFMFFMFMMFFMMFMMFMMFFMMFMMFFMMFMFMMMFFFMMFMFMMFFMMMFMMFMFMMFMFMMFFMMMMMMMMMF...
output:
47
result:
ok single line: '47'
Test #36:
score: 0
Accepted
time: 5ms
memory: 5352kb
input:
100000 1 MMMMFMFFMFMMFFMFFMMMFFFMFFMMMMFFFFFMMFFFFMMMFMMFFFMMFMFMMMMFMMFMMMMMFFFFMMFFMFMMFFMFFMFMFMMFFFFMMFFFMFMMFMMFMMFMFFMFFMMMMMMFMMFMFMMFFMMMFFFFMMFMFFFFMMMMMFMMMMFFMMFFFFMFMFMMFFFMFFMMFMMFMFMMFFFMMMMFMMMMFFFFFFMMMFFFMMMFMMFMFFFMFMMFFFFFFMFFFMFMFFMFMFMMMFFMMMMFFMMFMMMMFMFMFFMMMMFFMFFMFMFFFFFFFFF...
output:
29
result:
ok single line: '29'
Test #37:
score: 0
Accepted
time: 4ms
memory: 3708kb
input:
100000 1 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFMFFFFFMFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFFFFFMFFF...
output:
0
result:
ok single line: '0'
Test #38:
score: 0
Accepted
time: 3ms
memory: 5432kb
input:
100000 1 FFFFMMMFFFMFMFMFMMFFFFMMMFMFFFFFMFMMFMMMMFFFMMFMMFFMFFFFMFMFFFFMMFMMFFMFMMMFFFMMFMFFMFMFMFMFMFFMFMFFMMMFFFFMMMFFMFFFFMFFFMFMMMFFFFMFFFFMMFMFMFMFMMMMFMFMMMFMMMMFMFFFFFFMMFMMFFMFMFMFMMFMFMFFFFMMMFMMMFMMFFFMMFFMFMFMFFFMMMMFMMMFMFFMMFFMFMMFFFMFFFMFFFMFMMFMFFMMMMFMMMFFMFFFMFMMMMFFMMFMFMMMFFMFFFM...
output:
-1
result:
ok single line: '-1'
Test #39:
score: 0
Accepted
time: 5ms
memory: 5336kb
input:
100000 1 FFMMFMMMMMMFMMMFMMMMFFMMMFFMMMFFFMMFFFMMFMFMMMFFFFMFMMMMFMFMFFMMMFMMMMMFFMMFMFMMFMMMMMMMMMMMFMMMFFMMMMMFMMMMFMFFMMMMMMMFFMMMFFMMMFMMMMFMMMFFMMMFMFMMMFMMMMFMMMMFMMFFMMFMMFMMMMMMFFFMMMMMFMMFFMMMMMFMMFMMFFMMFMMMMMMMMMFMMMMFFMFMFMFMMMMMFMMMFFMFMMMFFMMMFMMMFMMMMFFMMMFFMMFMFFMMFFFMFMFMMMMMMMMMFMF...
output:
0
result:
ok single line: '0'
Test #40:
score: 0
Accepted
time: 6ms
memory: 5428kb
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: 64
Accepted
time: 12ms
memory: 4188kb
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:
-1
result:
ok single line: '-1'
Test #42:
score: -64
Wrong Answer
time: 11ms
memory: 4164kb
input:
1000000000000000000 100000 F 431871849268 M 59443702951207 F 16627010076045 M 15723099181340 F 1016212562479 M 18624381071488 F 23939085970272 M 15802149922508 F 17781355525450 M 60220772608868 F 2334436410290 M 65424478775450 F 6659821791902 M 37792526394974 F 1904215213263 M 6902431170813 F 306640...
output:
0
result:
wrong answer 1st lines differ - expected: '4564625175693371', found: '0'