Submission #998147

#TimeUsernameProblemLanguageResultExecution timeMemory
998147cpdreamerBliskost (COI23_bliskost)C++17
57 / 100
1048 ms12624 KiB
#include <bits/stdc++.h> #include <climits> #include <ext/pb_ds/assoc_container.hpp> #include <utility> using namespace __gnu_pbds; using namespace std; int char_diff(char a,char b){ int index_a=int(a)-int('a'); int index_b=int(b)-int('a'); int diff=(index_b-index_a+26)%26; return diff; } void solve() { int n,q; cin>>n>>q; string s; cin>>s; string t; cin>>t; int sign[n]; int value[n]; sign[n-1]=1; for(int i=n-2;i>=0;i--){ sign[i]=-1*sign[i+1]; } int c=0; for(int i=0;i<n;i++){ value[i]=char_diff(s[i],t[i]); c+=value[i]*sign[i]; } c=c%26; if(c==0) cout<<"da"<<endl; else cout<<"ne"<<endl; while(q--){ int pos; char ch; cin>>pos>>ch; pos--; s[pos]=ch; c-=value[pos]*sign[pos]; value[pos]=char_diff(s[pos],t[pos]); c+=value[pos]*sign[pos]; c=c%26; if(c==0) cout<<"da"<<endl; else cout<<"ne"<<endl; } } int main() { //file(); 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...
#Verdict Execution timeMemoryGrader output
Fetching results...