This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
using namespace std;
using ll = long long;
const ll mod = 998244353;
#define fi first
#define se second
#define rep(i,n) for(ll i=0;i<n;i++)
#define all(x) x.begin(),x.end()
#define faster ios::sync_with_stdio(false);cin.tie(nullptr)
int main() {
ll N,K;
cin >> N >> K;
N*=2;
vector<ll> l(N),r(N),s(N);
rep(i,N){
cin >> l[i] >> r[i] >> s[i];
l[i]--,r[i]--;
}
bool ans=false;
rep(bit,1<<N){
vector<ll> L(N/2,-1),R(N/2,-1);
rep(i,N){
if(bit&(1<<i)) L[l[i]]=i;
else R[r[i]]=i;
}
ll cnt_l=0,cnt_r=0;
rep(i,N/2){
if(L[i]==-1){
cnt_l=-1;
break;
}
cnt_l+=s[L[i]];
}
rep(i,N/2){
if(R[i]==-1){
cnt_r=-1;
break;
}
cnt_r+=s[R[i]];
}
if(cnt_l==-1||cnt_r==-1) continue;
if(abs(cnt_l-cnt_r)<=K) ans=true;
}
if(ans) cout << "YES" << endl;
else cout << "NO" << endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |