結果

問題 No.1290 Addition and Subtraction Operation
ユーザー 👑 Nachia
提出日時 2020-11-17 19:08:30
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 476 bytes
コンパイル時間 1,662 ms
コンパイル使用メモリ 170,540 KB
実行使用メモリ 12,772 KB
最終ジャッジ日時 2024-07-23 08:25:04
合計ジャッジ時間 7,816 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 2
other AC * 45 WA * 40
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;
using LL=long long;
#define R(i,n) for(int i=0; i<(n); i++)

using V=vector<LL>;

V v(1e6);
LL rt(LL a){ return v[a]!=a?v[a]=rt(v[a]):a; }

int main(){
	LL n,q; cin>>n>>q;
	V A(n+1); R(i,n) cin>>A[i];
	R(i,n) if(i%2) A[i]*=-1;
	R(i,n) A[n-i]-=A[n-i-1];

	R(i,n) v[i]=i;
	R(i,q){ LL l,r; cin>>l>>r; v[rt(--l)]=rt(r); }

	V S(n);
	R(i,n) S[v[rt(i)]]+=A[i];
	LL ok=1;
	R(i,n) if(S[i]) ok=0;
	cout<<(ok?"YES\n":"NO\n");

	return 0;
}

0