Submission #1361672

#TimeUsernameProblemLanguageResultExecution timeMemory
1361672MunkhturErdenebatStreet Lamps (APIO19_street_lamps)C++20
20 / 100
296 ms7332 KiB
#include<bits/stdc++.h>
#include<string.h>
#include <algorithm>
#include <iterator>
#include <set>
#include <stdlib.h>
 #define ll long long
 #define fr first
 #define sc second
 #define pb push_back
 #define YES cout<<"YES"<<endl
 #define NO cout<<"NO"<<endl
 #define endl "\n"
using namespace std;
    ll a,b,c,d,e,f,m,i,j,n,h,g,mid,l,r,ka,dp[200005],q[200005];
    map<ll,ll> mee,see;
    map<ll,ll> mii,maa;
    vector<ll> vas,ves;
    string x,y,z,te,to;
    pair<ll,ll> wefe,t[205005],k[200105];
    stack<ll> munkh;
    multiset<ll> mul;
int main(){
    cin>>a>>b;
    cin>>x;
    for(i=0 ; i<a;  i++){
        if(x[i]=='0'){
            k[i+1].fr=0;
            k[i+1].sc=-1;
        }
        else{
            k[i+1].fr=0;
            k[i+1].sc=0;
        }
    }
    for(i=1 ; i<=b ; i++){
        cin>>y;
        if(y[0]=='q'){
            cin>>l>>r;
            if(k[l].sc==-1){
                cout<<k[l].fr<<endl;
            }
            else{
                cout<<i-k[l].sc+k[l].fr<<endl;
            }
        }
        else{
            cin>>l;
            if(k[l].sc==-1){
                k[l].sc=i;
            }
            else{
                k[l].fr+=i-k[l].sc;
                k[l].sc=-1;
            }
        }
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...