結果
問題 | No.1290 Addition and Subtraction Operation |
ユーザー |
👑 ![]() |
提出日時 | 2020-11-19 21:13:41 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 99 ms / 2,000 ms |
コード長 | 383 bytes |
コンパイル時間 | 1,829 ms |
コンパイル使用メモリ | 192,640 KB |
最終ジャッジ日時 | 2025-01-16 01:47:15 |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 85 |
ソースコード
#include<bits/stdc++.h> #define R(n) for(I i=0;i<(n);i++) auto& C=std::cin; using I=long long; I v[1<<18],A[1<<18]={},s[1<<18]={},n,q,y=1,a,b; I r(I a){return v[a]-a?v[a]=r(v[a]):a;} int main(){ C>>n>>q; R(n){C>>A[i];if(i&1)A[i]*=-1;} n++;R(n){A[n-i]-=A[n-i-1];v[i]=i;} R(q){C>>a>>b;v[r(--a)]=r(b);} R(n)s[r(i)]+=A[i]; R(n)if(s[i])y=0; printf(y?"YES\n":"NO\n"); return 0; }