Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main(){
- int n,k;
- scanf("%d%d",&n,&k);
- int M[n+1],F[n+1];
- for(int i=1;i<=n;i++){
- scanf("%d%d",&M[i],&F[i]);
- }
- for(int i=1;i<=n;i++){
- int J1=i-k,J2=i+k;
- if(J1<1) J1=1;
- if(J2>n) J2=i;
- for(int j=J1;j<=J2;j++){
- if(M[i]==0) break;
- else if(F[j]==0) continue;
- if(M[i]>F[j]) {
- M[i]=M[i]-F[j];
- F[j]=0;
- }
- else{
- F[j]=F[j]-M[i];
- M[i]=0;
- }
- }
- for(int j=J1;j<=J2;j++){
- if(F[i]==0) break;
- else if(M[j]==0) continue;
- if(M[j]>F[i]) {
- M[j]=M[j]-F[i];
- F[i]=0;
- }
- else{
- F[i]=F[i]-M[j];
- M[j]=0;
- }
- }
- }
- bool check=true;
- for(int i=1;i<=n;i++){
- if(M[i]!=0 or F[i]!=0) check=false;
- }
- if(!check) printf("NO");
- else printf("YES");
- return 0;
- }
Add Comment
Please, Sign In to add comment