제출 #232405

#제출 시각아이디문제언어결과실행 시간메모리
232405limabeans송금 (JOI19_remittance)C++17
0 / 100
1093 ms384 KiB
#include <bits/stdc++.h>
using namespace std;

template<typename T>
void out(T x) { cout << x << endl; exit(0); }
#define watch(x) cout << (#x) << " is " << (x) << endl




typedef long long ll;
const ll mod = 1e9+7;
const int maxn = 10;






vector<int> b;

bool solve(vector<int> a) {

    int n = a.size();
    if (a == b) return true;
    for (int i=0; i<n; i++) {
	if (a[i]<=b[i]) continue;

	
	for (int x=0; x<=8; x+=2) {
	    for (int y=0; y<=8; y+=2) {
		if (x>0||y>0) {
		    if (a[i]>=x+y) {
			vector<int> _a = a;
			_a[i]-=x;
			_a[(i+1)%n]+=x/2;
			_a[i]-=y;
			_a[(i-1+n)%n]+=y/2;
			if (solve(_a)) return true;
		    }
		}
	    }
	}
    }
    return false;
}

int n;
vector<int> _a;

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);  cout.tie(0);

    cin>>n;
    _a.resize(n);
    b.resize(n);
    
    for (int i=0; i<n; i++) {
	cin>>_a[i]>>b[i];
    }

    if (solve(_a)) out("Yes");
    out("No");

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...