結果
| 問題 |
No.814 ジジ抜き
|
| コンテスト | |
| ユーザー |
ahe100
|
| 提出日時 | 2019-04-13 03:07:37 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 300 ms / 3,000 ms |
| コード長 | 804 bytes |
| コンパイル時間 | 1,509 ms |
| コンパイル使用メモリ | 166,948 KB |
| 実行使用メモリ | 10,496 KB |
| 最終ジャッジ日時 | 2024-09-15 06:36:17 |
| 合計ジャッジ時間 | 8,120 ms |
|
ジャッジサーバーID (参考情報) |
judge6 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 23 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i = 0;i<((int)(n));i++)
#define reg(i,a,b) for(int i = ((int)(a));i<=((int)(b));i++)
#define irep(i,n) for(int i = ((int)(n)-1);i>=0;i--)
#define ireg(i,a,b) for(int i = ((int)(b));i>=((int)(a));i--)
typedef long long ll;
/*
AC
全てのカードのxorはx
*/
ll n,k[300010],l[300010],d[300010],ans=0;
ll f(ll x){
if(x%4==0)return x;
if(x%4==1)return 1;
if(x%4==2)return x+1;
return 0;
}
void init(){
cin>>n;
rep(i,n)cin>>k[i]>>l[i]>>d[i];
}
int main(void){
init();
rep(i,n){
ll ue = l[i]>>d[i];
ans = ans ^ ((f(ue + k[i]-1) ^ f(ue-1))<<d[i]) ^ (k[i]%2?(ue<<d[i])^l[i]:0);
}
cout<<ans<<endl;
// ll a=((ll)1<<5)-1;
// ll b=a>>2;
// ll c=b<<2;
// cout<<a<<endl;
// cout<<b<<endl;
// cout<<c<<endl;
return 0;
}
ahe100