結果

問題 No.2879 Range Flip Queries
ユーザー タニータニー
提出日時 2024-09-08 12:37:07
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 494 ms / 2,000 ms
コード長 2,218 bytes
コンパイル時間 1,892 ms
コンパイル使用メモリ 180,868 KB
実行使用メモリ 11,208 KB
最終ジャッジ日時 2024-09-08 12:37:21
合計ジャッジ時間 13,910 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,812 KB
testcase_01 AC 2 ms
6,940 KB
testcase_02 AC 2 ms
6,944 KB
testcase_03 AC 146 ms
6,940 KB
testcase_04 AC 144 ms
6,940 KB
testcase_05 AC 143 ms
6,944 KB
testcase_06 AC 144 ms
6,944 KB
testcase_07 AC 144 ms
6,940 KB
testcase_08 AC 3 ms
6,944 KB
testcase_09 AC 2 ms
6,940 KB
testcase_10 AC 2 ms
6,940 KB
testcase_11 AC 2 ms
6,940 KB
testcase_12 AC 2 ms
6,944 KB
testcase_13 AC 348 ms
7,808 KB
testcase_14 AC 396 ms
8,064 KB
testcase_15 AC 258 ms
6,944 KB
testcase_16 AC 107 ms
6,944 KB
testcase_17 AC 262 ms
10,240 KB
testcase_18 AC 460 ms
10,828 KB
testcase_19 AC 465 ms
11,048 KB
testcase_20 AC 488 ms
11,048 KB
testcase_21 AC 471 ms
11,004 KB
testcase_22 AC 469 ms
10,996 KB
testcase_23 AC 483 ms
10,864 KB
testcase_24 AC 464 ms
11,024 KB
testcase_25 AC 464 ms
11,052 KB
testcase_26 AC 465 ms
11,048 KB
testcase_27 AC 494 ms
11,036 KB
testcase_28 AC 466 ms
11,188 KB
testcase_29 AC 351 ms
10,960 KB
testcase_30 AC 352 ms
11,064 KB
testcase_31 AC 351 ms
11,084 KB
testcase_32 AC 350 ms
11,208 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef vector<ll> v;
typedef vector<pair<ll,ll>> p;
typedef string str;
typedef double dou;
#define FOR(i,a,b) for(ll i=a;i<b;i++)
#define f0r(i,b) FOR(i,0,b)
#define SORT(a) sort(a.begin(),a.end());
#define llin(a,n) f0r(i,n) {cin>>a[i];}
#define vin(a,n) f0r(i,n) {ll tmp;cin>>tmp;a.push_back(tmp);}
#define douketa(n) cout<<fixed<<setprecision(n);
str ALP="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
str alp="abcdefghijklmnopqrstuvwxyz";
dou pi=3.141592653589793;
const ll mod=1000000007;

//aの要素の内、b以下で最大数出力 
ll upp(v a,ll b) {return upper_bound(a.begin(),a.end(),b)-a.begin();}
//aの要素の内、b未満で最大数出力
ll low(v a,ll b) {return lower_bound(a.begin(),a.end(),b)-a.begin();}

// a/c(mod n)を出力
ll modinv(ll a,ll c) {ll b=mod,u=1,v=0;while(b){ll t=c/b;c-=t*b;swap(c,b);u-=t*v;swap(u,v);}u%=mod;if(u<0)u+=mod;ll ans=(a%mod)*u%mod;return ans;}
// aCb(mod n)を出力
ll com(ll a,ll b){ll l=1;f0r(i,b){l*=(a-i);l=l%mod;l=modinv(l,i+1);}return l;}

//nが素数かどうか判定
bool priyn(ll n){bool b=true;for(ll i=2;i*i<=n;i++){if(n%i==0) b=false;}return b;}
// nを素因数分解
p ftz(ll n){ll mema=n; map<ll,ll> mem;for(ll i=2;i*i<=mema;i++){while(mema%i==0){mema/=i;mem[i]++;}}if(mema!=1) mem[mema]++;p ret(mem.begin(),mem.end());return ret;}

//yes or no 出力
void yn(bool b){if(b) cout<<"Yes";else cout<<"No"; cout<<endl;}
//'s'ならスペース 'e'なら改行して出力
void vout(v a,char c){
    if(c=='s'){
        f0r(i,a.size()) cout<<a[i]<<" "; 
        cout<<endl;}
    else if(c=='e'){
        f0r(i,a.size()) cout<<a[i]<<endl;
    }
}

// void vout(v a,char c){if(c=='s'){f0r(i,a.size()) cout<<a[i]<<" ";}else if(c=='e'){f0r(i,a.size()) cout<<a[i]<<endl;}}
// pを{a,b}出力
void pout(p pa) {f0r(i,pa.size()) cout<<"{"<<pa[i].first<<","<<pa[i].second<<"}"<<endl;}


/*
0~3199 3200~3999
4400 4401
*/
int main(){
    ll n,q;
    cin>>n>>q;
    ll a[n];
    llin(a,n);
    v mem(n+1,0);
    f0r(i,q){
        ll a,b;
        cin>>a>>b;
        a--;
        mem[a]++;
        mem[b]--;
    }
    ll ans=0;
    f0r(i,n){
        ans+=mem[i];
        cout<<(ans+a[i])%2<<" ";
    }
}
0