Submission #648699

#TimeUsernameProblemLanguageResultExecution timeMemory
648699PoPularPlusPlusRemittance (JOI19_remittance)C++17
100 / 100
265 ms28464 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define pb(e) push_back(e) #define sv(a) sort(a.begin(),a.end()) #define sa(a,n) sort(a,a+n) #define mp(a,b) make_pair(a,b) #define vf first #define vs second #define ar array #define all(x) x.begin(),x.end() const int inf = 0x3f3f3f3f; const int mod = 1000000007; const double PI=3.14159265358979323846264338327950288419716939937510582097494459230; bool remender(ll a , ll b){return a%b;} //freopen("problemname.in", "r", stdin); //freopen("problemname.out", "w", stdout); void solve(){ int n; cin >> n; int arr[n] , b[n]; for(int i = 0; i < n; i++)cin >> arr[i] >> b[i]; bool again; do { again = 0; for(int i = 0; i < n; i++){ if(arr[i] > b[i] + 1){ arr[(i + 1)%n] += (arr[i] - b[i])/2; arr[i] -= 2 * ((arr[i] - b[i])/2); again = 1; } } }while(again); for(int i = 0; i < n; i++){ //cout << arr[i] << ' '; if(arr[i] < b[i]){ cout << "No\n"; return; } } bool pos = 1 , pos1 = 1 , pos2 = 0; for(int i = 0; i < n; i++){ pos &= (arr[i] == b[i]); pos1 &= (arr[i] == b[i] + 1); pos2 |= (b[i] > 0); } pos1 &= pos2; if(pos || pos1)cout << "Yes\n"; else cout << "No\n"; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); //int t;cin >> t;while(t--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...