This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
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"<<'\n';
    else
        cout<<"ne"<<'\n';
    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"<<'\n';
        else
            cout<<"ne"<<'\n';
    }
}
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    //file();
    solve();
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |