Submission #1026550

#TimeUsernameProblemLanguageResultExecution timeMemory
1026550vjudge1Bliskost (COI23_bliskost)C++17
57 / 100
1092 ms18680 KiB
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx,avx2,fma")
#include <bits/stdc++.h>
using namespace std;
 
#define int long long
#define OYY LLONG_MAX
#define mod 998244353
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define FOR for(int i=1;i<=n;i++)
#define mid (start+end)/2
#define lim 1000005
#define fi first
#define se second

int dizi[lim];

int pre[lim];

int32_t main(){
	faster
	int n,q;cin>>n>>q;
	string a,b;cin>>a>>b;
	FOR{
		dizi[i]=b[i-1]-a[i-1];
	}
	
	FOR{
		if(i==1)continue;
		if(i==2){
			pre[i]=dizi[i]-dizi[i-1];
			pre[i]=(pre[i]+26)%26;
			continue;
		}
		pre[i]=dizi[i]-pre[i-1];
		pre[i]=(pre[i]+26)%26;
		//cout<<pre[i]<<endl;
	}
	
	if(n==1 && a!=b){
		cout<<"ne"<<'\n';
		return 0;
	}
	else if(n==1 && a==b){
		cout<<"da"<<'\n';
		return 0;
	}
	
	if(pre[n]==0){
		cout<<"da"<<'\n';
	}
	else cout<<"ne"<<'\n';
	
	while(q--){
		int pos;char c;
		cin>>pos>>c;
		if(n==1){
			a=c;
			if(a==b){
				cout<<"da"<<'\n';
			}
			else{
				cout<<"ne"<<'\n';
			}
			continue;
		}
		dizi[pos]=(b[pos-1]-c+26)%26;
		//cout<<pos<<" "<<dizi[pos]<<" "<<dizi[pos+1]<<endl;
		for(int i=pos;i<=n;i++){
			if(i==1)continue;
			if(i==2){
				pre[i]=dizi[i]-dizi[i-1];
				pre[i]=(pre[i]+26)%26;
				continue;
			}
			pre[i]=dizi[i]-pre[i-1];
			pre[i]=(pre[i]+26)%26;
		}
		/*for(int i=1;i<=n;i++){
			cout<<dizi[i]<<" ";
		}
		cout<<'\n';
		for(int i=1;i<=n;i++){
			cout<<pre[i]<<" ";
		}
		cout<<'\n';*/
		if(pre[n]==0){
			cout<<"da"<<'\n';
		}
		else cout<<"ne"<<'\n';
	}
	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...