Submission #1234255

#TimeUsernameProblemLanguageResultExecution timeMemory
1234255inesfiStreet Lamps (APIO19_street_lamps)C++20
20 / 100
60 ms5704 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long
#define endl "\n"

const int TAILLEMAXI=3*100*1000+2;
int nblampes,nbreq;
vector<bool> lampes;
int total[TAILLEMAXI],dernier[TAILLEMAXI];

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin>>nblampes>>nbreq;
    for (int i=0;i<nblampes;i++){
        char c;
        cin>>c;
        if (c=='1'){
            lampes.push_back(true);
        }
        else {
            lampes.push_back(false);
            dernier[i]=-1;
        }
    }
    for (int i=1;i<=nbreq;i++){
        string type;
        cin>>type;
        if (type=="toggle"){
            int place;
            cin>>place;
            place--;
            if (lampes[place]){
                total[place]+=i-dernier[place];
                //cout<<total[place]<<endl;
                lampes[place]=false;
            }
            else {
                dernier[place]=i;
                lampes[place]=true;
            }
        }
        else {
            int deb,fin;
            cin>>deb>>fin;
            deb--;
            fin--;
            if (lampes[deb]){
                cout<<total[deb]+i-dernier[deb]<<endl;
            }
            else {
                cout<<total[deb]<<endl;
            }
        }
    }
    //cout<<total[4]<<endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...