結果
問題 | No.984 Inversion |
ユーザー |
|
提出日時 | 2020-02-11 14:11:51 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 3,535 bytes |
コンパイル時間 | 1,568 ms |
コンパイル使用メモリ | 166,208 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-01 07:31:15 |
合計ジャッジ時間 | 2,445 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 16 WA * 8 |
ソースコード
#include <bits/stdc++.h>#define pb push_back#define eb emplace_back#define fi first#define se second#define rep(i,N) for(long long i = 0; i < (long long)(N); i++)#define repr(i,N) for(long long i = (long long)(N) - 1; i >= 0; i--)#define rep1(i,N) for(long long i = 1; i <= (long long)(N) ; i++)#define repr1(i,N) for(long long i = (N) ; (long long)(i) > 0 ; i--)#define each(x,v) for(auto& x : v)#define all(v) (v).begin(),(v).end()#define sz(v) ((int)(v).size())#define ini(...) int __VA_ARGS__; in(__VA_ARGS__)#define inl(...) long long __VA_ARGS__; in(__VA_ARGS__)#define ins(...) string __VA_ARGS__; in(__VA_ARGS__)using namespace std; void solve();using ll = long long; template<class T = ll> using V = vector<T>;using vi = V<int>; using vl = V<>; using vvi = V< V<int> >;constexpr int inf = 1001001001; constexpr ll infLL = (1LL << 61) - 1;struct IoSetupNya {IoSetupNya() { cin.tie(nullptr); ios::sync_with_stdio(false); cout << fixed << setprecision(15); cerr << fixed << setprecision(7);}} iosetupnya;template<typename T, typename U> inline bool amin(T &x, U y) { return (y < x) ? (x = y, true) : false; }template<typename T, typename U> inline bool amax(T &x, U y) { return (x < y) ? (x = y, true) : false; }template<typename T, typename U> ostream& operator <<(ostream& os, const pair<T, U> &p) { os << p.first << " " << p.second; return os; }template<typename T, typename U> istream& operator >>(istream& is, pair<T, U> &p) { is >> p.first >> p.second; return is; }template<typename T> ostream& operator <<(ostream& os, const vector<T> &v) { int s = (int)v.size(); rep(i,s) os << (i ? " " : "") << v[i]; return os;}template<typename T> istream& operator >>(istream& is, vector<T> &v) { for(auto &x : v) is >> x; return is; }void in(){} template <typename T,class... U> void in(T &t,U &...u){ cin >> t; in(u...);}void out(){cout << "\n";} template <typename T,class... U> void out(const T &t,const U &...u){ cout << t; if(sizeof...(u)) cout << " "; out(u...);}template<typename T>void die(T x){out(x); exit(0);}#ifdef NyaanDebug#include "NyaanDebug.h"#define trc(...) do { cerr << #__VA_ARGS__ << " = "; dbg_out(__VA_ARGS__);} while(0)#define trca(v,N) do { cerr << #v << " = "; array_out(v , N);cout << endl;} while(0)#else#define trc(...)#define trca(...)int main(){solve();}#endif#define inc(...) char __VA_ARGS__; in(__VA_ARGS__)#define in2(N,s,t) rep(i,N){in(s[i] , t[i]);}#define in3(N,s,t,u) rep(i,N){in(s[i] , t[i] , u[i]);}using vd = V<double>; using vs = V<string>; using vvl = V< V<> >;template<typename T>using heap = priority_queue< T , V<T> , greater<T> >;using P = pair<int,int>; using vp = V<P>;constexpr int MOD = /** 1000000007; //*/ 998244353;//////////////////// 立っているビットの数inline int popcnt(unsigned long long a){ return __builtin_popcountll(a); }// 一番右側のbit(1の位を0番目とする)inline int ctz(unsigned long long a){ return __builtin_ctzll(a); }// 一番左側のbitinline int msb(unsigned long long a){ return 63 - __builtin_clzll(a); }// i番目のビットが立っているかtemplate<typename T>inline int getbit(T a ,int i){ return (a >> i) & 1; }// i番目のビットを立たせるtemplate<typename T>inline void setbit(T &a,int i){ a |= (1LL << i); }// i番目のビットを消すtemplate<typename T>inline void delbit(T &a,int i){ a &= ~(1LL << i); }void solve(){inl(P , N);if(N == 1) die(0);if(N == P - 1) die((P - 1) / 2 % 2);out( (popcnt(P) + popcnt(N)) % 2);}