Submission #1111226

#TimeUsernameProblemLanguageResultExecution timeMemory
1111226mychecksedadRemittance (JOI19_remittance)C++17
15 / 100
1 ms504 KiB
/* Author : Mychecksdead */ #include<bits/stdc++.h> using namespace std; #define ll long long int #define MOD (1000000000+7) #define MOD1 (998244353) #define pb push_back #define all(x) x.begin(), x.end() #define en cout << '\n' #define ff first #define ss second #define pii pair<int,int> #define vi vector<int> const int N = 1e6+100, M = 1e5+10, K = 52, MX = 30; int n, A[N], B[N], x[N], nx[N], C[N]; void solve(){ cin >> n; ll SA = 0, SB = 0; for(int i = 1; i <= n; ++i){ cin >> A[i] >> B[i]; x[i] = 0; SA += A[i]; SB += B[i]; } if(SB==0){ if(SA==0) cout << "Yes"; else cout << "No"; return; } if(SA==0){ if(SB==0) cout << "Yes"; else cout << "No"; return; } bool OK = 1; for(int bit = 0; bit < 32; bit++){ OK = 0; for(int i = 1; i <= n; ++i){ ll val = (A[i] % 2) - (B[i] % 2) - x[i]; int b = i == 1 ? n : i - 1; nx[b] = (-val+4)%2; if(x[b] != nx[b]){ OK = 1; } } // for(int i = 1; i <= n; ++i){ // // cout << nx[i] << ' '; // int b = i == 1 ? n : i - 1; // cout << A[i] << ' ' << x[i] << ' ' << nx[b] << ' ' << B[i] << '\n'; // } // en; for(int i = 1; i <= n; ++i){ int b = i == 1 ? n : i - 1; A[i] += nx[b]; A[i] -= x[i]; A[i] >>= 1; B[i] >>= 1; x[i] = nx[i]; if(A[i]<0){ cout << "No"; return; } // cout << A[i] << ' ' << B[i] << '\n'; // cout << x[i] << ' '; } } for(int i = 1; i <= n; ++i) if(A[i]!=0 || B[i]!=0) OK=1; if(OK){ cout << "No"; return; } cout << "Yes"; } int main(){ cin.tie(0); ios::sync_with_stdio(0); int tt = 1, aa; // freopen("in.txt", "r", stdin); // freopen("out.txt", "w", stdout); while(tt--){ solve(); en; } cerr<<"time taken : "<<(float)clock()/CLOCKS_PER_SEC<<" seconds\n"; return 0; }

Compilation message (stderr)

remittance.cpp: In function 'int main()':
remittance.cpp:81:15: warning: unused variable 'aa' [-Wunused-variable]
   81 |   int tt = 1, aa;
      |               ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...