Submission #1284216

#TimeUsernameProblemLanguageResultExecution timeMemory
1284216hssaan_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 = 1e9 + 7, 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; if (n&1){ for (int i = 0 ; i < n ; i++){ if (i&1) add(i+1 , -(s[i] - 'a' + 1)); else add(i+1 , s[i] - 'a' + 1); } int sum = 0; for (int i = 0 ; i < n ; i++){ if (i&1){ sum -= t[i] - 'a' + 1; }else{ sum += t[i] - 'a' + 1; } } // cout << prep(n) << endl; if (prep(n) == sum){ cout << "da" << endl; }else{ cout << "ne" << endl; } while(q--){ cin >> i >> x; if (i&1) add(i , (x - 'a' + 1) - (s[i-1] - 'a' + 1)); else add(i , -(x - 'a' + 1) + (s[i-1] - 'a' + 1)); if (prep(n) == sum){ cout << "da" << endl; }else{ cout << "ne" << endl; } } }else{ for (int i = 0 ; i < n ; i++){ if (i&1) add(i+1 , (s[i] - 'a' + 1)); else add(i+1 , -(s[i] - 'a' + 1)); } int sum = 0; for (int i = 0 ; i < n ; i++){ if (i&1){ sum += t[i] - 'a' + 1; }else{ sum -= t[i] - 'a' + 1; } } if (prep(n) == sum){ cout << "da" << endl; }else{ cout << "ne" << endl; } while(q--){ cin >> i >> x; if (i&1) add(i , -(x - 'a' + 1) + (s[i-1] - 'a' + 1)); else add(i , (x - 'a' + 1) - (s[i-1] - 'a' + 1)); if (prep(n) == sum){ 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...