제출 #568018

#제출 시각아이디문제언어결과실행 시간메모리
568018josanneo22Street Lamps (APIO19_street_lamps)C++17
0 / 100
15 ms14744 KiB
#include<bits/stdc++.h> #include<iostream> #include<cmath> #include<stdlib.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<pair<int, int> > vpii; typedef pair<ll,ll> pll; typedef vector<ll> vll; #define FOR(i,a,b) for (int i = (a); i < (b); ++i) #define F0R(i,a) FOR(i,0,a) #define ROF(i,a,b) for (int i = (b); i >= (a); --i) #define R0F(i,a) ROF(i,0,a) #define trav(a,x) for (auto& a: x) #define mp make_pair #define pb push_back #define rsz resize #define sz(x) int(x.size()) #define all(x) begin(x), end(x) #define f first #define s second #define out(x) cout<<x<<'\n'; #define in(x) cin>>x; #define inarr(a,x,y) for(int i=x;i<y;i++){cin>>a[i];} #define incor(a,x,y) for(int i=x;i<y;i++){cin>>a[i].f>>a[i].s;} int dx[4] = { -1, 0, 1, 0 }; int dy[4] = { 0, 1, 0, -1 }; const int mod = 1e9 + 7; void normal() { ios_base::sync_with_stdio(false); cin.tie(NULL); } char change(char x) { if(x=='0') return '1'; return '0'; } const int maxn= 3e5+3; vpii tim[maxn]; void solve() { int n,q; cin>>n>>q; string ori; cin>>ori; FOR(i,0,n) tim[i].pb(mp(ori[i],0)); FOR(i,0,q) { string x;cin>>x; if(x=="query") { int a,b; cin>>a>>b; pii temp=tim[a][sz(tim[a])-1]; ll ans=0; if(temp.f=='0') { for(int j=sz(tim[a])-1;j>=0;j--) { ans+=tim[a][j].s; } } else { ans+=(i=+tim[a][sz(tim[a])-1].s); for(int j=sz(tim[a])-2;j>=0;j--) { ans+=tim[a][j].s; } } out(ans); } else { int x; in(x); if(change(ori[x])=='1') tim[x].pb(mp(change(ori[x]),(ll)-i)); else tim[x].pb(mp(change(ori[x]),(ll)i)); ori[x]=change(ori[x]); } } } int main() { normal(); int t=1; while(t--) { solve(); } 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...