Submission #1044879

#TimeUsernameProblemLanguageResultExecution timeMemory
1044879vjudge1Street Lamps (APIO19_street_lamps)C++17
40 / 100
55 ms9900 KiB
#pragma GCC optimize("unroll-loops,Ofast,O3") #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define spc << " " << #define endl "\n" #define all(x) x.begin(), x.end() #define int long long #define ii pair<long long,int> #define vi vector<int> #define vii vector<ii> #define st first #define nd second #define inf 1e15 #define MOD 1000000007 #define MX 200005 using namespace std; void solve(){ int n,q; cin >> n >> q; string s; cin >> s; if(n>100 || q>100){ int tot[n+1], last[n+1], cur[n+1]; for(int i=1; i<=n; i++){ tot[i]=0; last[i]=0; cur[i]=s[i-1]-'0'; } for(int i=1; i<=q; i++){ cin >> s; if(s[0]=='t'){ int a; cin >> a; if(cur[a]==0){ last[a]=i; } else{ tot[a]+=i-last[a]; } cur[a]=1-cur[a]; } else{ int l,r; cin >> l >> r; int ans=tot[l]; if(cur[l]) ans+=i-last[l]; cout << ans << endl; } } return; } int arr[q+1][n+1]; for(int i=1; i<=n; i++){ if(s[i-1]=='0') arr[1][i]=0; else arr[1][i]=1; } for(int i=1; i<=q; i++){ string h; cin >> h; if(i<q) for(int j=1; j<=n; j++) arr[i+1][j]=arr[i][j]; if(h[0]=='t'){ int a; cin >> a; arr[i+1][a]=1-arr[i+1][a]; } else{ int l,r; cin >> l >> r; int ans=0; for(int j=1; j<=i; j++){ int ok=1; for(int f=l; f<r; f++){ if(!arr[j][f]){ ok=0; break; } } if(ok){ ans++; } } cout << ans << endl; } } } signed main(){ ios_base::sync_with_stdio(false);cin.tie(0); #ifdef Local freopen("in","r",stdin); freopen("out","w",stdout); #endif /*freopen("nondec.in","r",stdin); freopen("nondec.out","w",stdout);*/ int t=1; //cin >> t; while(t--) solve(); }
#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...