Submission #1284298

#TimeUsernameProblemLanguageResultExecution timeMemory
1284298hssaan_arifBliskost (COI23_bliskost)C++20
0 / 100
0 ms332 KiB
#include <bits/stdc++.h> using namespace std; #define endl "\n" #define pb push_back #define int long long const int N = 1e6 + 5, M = 26, LG = 20; int n , F[N] , i , q; string s , t; char x; void add(int i , int x){ while(i <= n){ F[i] += x; i += (i&(-i)); } } int prep(int i){ int sum = 0; while(i >= 0){ sum += F[i]; if (!i) break; i -= (i&(-i)); } return sum; } void solve(){ cin >> n >> q >> s >> t; int k = 0 , ans = 0; for (int i = 0 ; i < n ; i++){ ans += (s[i] - 'a') + k; k = (s[i] - 'a'); } int sum = t[n-1] - 'a'; for (int i = n-2 ; i >= 0 ; i--){ sum = (t[i] - 'a') + 25 - sum; sum %= 26; } // cout << k << ' ' << sum << endl; if (ans%26 == sum){ cout << "da" << endl; }else{ cout << "ne" << endl; } while(q--){ cin >> i >> x; k += (((x - 'a') - (s[i-1] - 'a'))%M + M)%M; k %= M; if (k == sum){ cout << "da" << endl; }else{ cout << "ne" << endl; } // if (i&1) add(i , (x - 'a' + 1) - (s[i-1] - 'a' + 1)); // else add(i , -(x - 'a' + 1) + (s[i-1] - 'a' + 1)); // // cout << prep(n) << ' ' << sum << endl; // if (prep(n) % 26 == sum % 26){ // cout << "da" << endl; // }else{ // cout << "ne" << endl; // } } } signed main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int ts = 1; // cin >> ts; while(ts--){ 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...
#Verdict Execution timeMemoryGrader output
Fetching results...