Submission #839309

#TimeUsernameProblemLanguageResultExecution timeMemory
839309serifefedartarBliskost (COI23_bliskost)C++17
100 / 100
134 ms19896 KiB
#include <bits/stdc++.h> using namespace std; #define debug(x) {cout << #x << ": "; for (auto it : x) cout << it << " ";cout << endl;} #define fast ios::sync_with_stdio(0);cin.tie(0); typedef long long ll; #define f first #define s second #define MOD 1000000007 #define LOGN 15 #define MAXN 100005 vector<int> diff; int main() { fast int N, Q; string S, T; cin >> N >> Q >> S >> T; S = "#" + S; T = "#" + T; diff = vector<int>(N+1); int even = 0, odd = 0; for (int i = 1; i <= N; i++) { diff[i] = (T[i] - S[i] + 26) % 26; if (i % 2) odd += diff[i]; else even += diff[i]; } if (even % 26 == odd % 26) cout << "da\n"; else cout << "ne\n"; while (Q--) { int plc; char ch; cin >> plc >> ch; int last = diff[plc]; S[plc] = ch; diff[plc] = (T[plc] - ch + 26) % 26; if (plc % 2) { odd += diff[plc] - last; if (odd < 0) odd += 26; } else { even += diff[plc] - last; if (even < 0) even += 26; } if (even % 26 == odd % 26) cout << "da\n"; else cout << "ne\n"; } }
#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...