# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
976907 | AIF_is_carving | Street Lamps (APIO19_street_lamps) | C++17 | 137 ms | 19168 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
void solve(){
int n, q; cin>>n>>q;
if(n<=100 && q<=100){
string str[q+1];
cin>>str[0];
for(int i=1; i<=q; i++){
string mark;
cin>>mark;
if(mark == "toggle"){
int ind; cin>>ind;
string s = str[i-1];
if(s[ind-1] == '0') s[ind-1] = '1';
else s[ind-1]='0';
str[i] = s;
}
else{
int l, r; cin>>l>>r;
int ans = 0;
for(int j=0; j<=i-1; j++){
int flag =1;
for(int k = l-1; k<r-1; k++){
if(str[j][k] == '0') flag = 0;
}
ans+=flag;
}
cout<<ans<<"\n";
str[i] =str[i-1];
}
}
}
else{
string str;
cin>>str;
vector<int> v[n];
for(int i=0; i<n; i++){
if(str[i] =='1') v[i].push_back(0);
}
for(int i=1; i<=q; i++){
string mark;
cin>>mark;
if(mark == "toggle"){
int indx;
cin>>indx;
if(str[indx-1] == '1') str[indx-1]='0';
v[indx-1].push_back(i);
}
else{
int l, r; cin>>l>>r;
l-=1;
if(v[l].size()%2 == 0){
int ans =0;
for(int j=0; j<v[l].size(); j+=2){
ans+=v[l][j+1]-v[l][j];
}
cout<<ans<<"\n";
if(ans>0){
v[l].clear();
v[l].push_back(i-ans);
v[l].push_back(i);
}
}
else{
int ans =0;
for(int j=0; j<v[l].size()-1; j+=2){
ans+=v[l][j+1]-v[l][j];
}
//cout<<i<<" "<<v[l][v[l].size()-1];
ans += i-v[l][v[l].size()-1];
cout<<ans<<"\n";
if(ans>0){
v[l].clear();
v[l].push_back(i-ans);
}
}
}
}
}
return;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t=1; //cin>>t;
while(t--){
solve();
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |