結果
| 問題 |
No.939 and or
|
| コンテスト | |
| ユーザー |
vjudge1
|
| 提出日時 | 2024-10-12 10:27:02 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 106 ms / 2,000 ms |
| コード長 | 2,175 bytes |
| コンパイル時間 | 2,140 ms |
| コンパイル使用メモリ | 194,124 KB |
| 最終ジャッジ日時 | 2025-02-24 17:25:07 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 30 |
コンパイルメッセージ
main.cpp:53:1: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]
53 | main(){
| ^~~~
ソースコード
#include<bits/stdc++.h>
using namespace std;
// #pragma GCC optimize(1)
// #pragma GCC optimize(2)
// #pragma GCC optimize(3)
// #pragma GCC optimize("Ofast")
// #pragma GCC optimize("unroll-loops")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
#define int long long
#define y0 Y0
#define y1 Y1
#define lc (now<<1)
#define rc (now<<1|1)
#define min(a,b) (a<b?a:b)
#define max(a,b) (a>b?a:b)
#define P pair<int,int>
#define mkp make_pair
#define x first
#define y second
#define modd(x) (((x)%mod+mod)%mod)
#define rd read()
#define lowbit(x) ((x)&(-(x)))
#define abs(x) ((x)<0?-(x):(x))
#define submod(x,y) (((x-=y)<0)&&(x+=mod))
#define addmod(x,y) (((x+=y)>=mod)&&(x-=mod))
#define addval(x,y) (x+y>=mod?x+y-mod:x+y)
#define subval(x,y) (x-y<0?x-y+mod:x-y)
mt19937_64 rnd(chrono::steady_clock::now().time_since_epoch().count());
#define fflush() fwrite(obuf,1,O-obuf,stdout),O=obuf
char buf[(1<<21)+10],*p1=buf,*p2=buf,obuf[(1<<21)+10],*O=obuf;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
#define putchar(x) (O-obuf<(1<<21)?*O++=(x):(fwrite(obuf,1,1<<21,stdout),O=obuf,*O++=(x)))
inline int read(int u=0, char c=getchar(), bool f=false){
for(;!isdigit(c);c=getchar()) f|=c=='-';
for(;isdigit(c);c=getchar()) u=(u<<1)+(u<<3)+(c^'0');
return f?-u:u;
}
inline void read(string &s,char c=getchar()){
for(;(c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<'0'||c>'9');c=getchar());s.clear();
for(;(c>='A'&&c<='Z')||(c>='a'&&c<='z')||(c>='0'&&c<='9');c=getchar()) s.push_back(c);
}
inline void wt(int x){
if(x<0) x=-x,putchar('-');
if(x>9) wt(x/10);
putchar((x%10)^'0');
}
inline void wt(string s){for(char c:s) putchar(c);}
inline void wt(int x,char k){wt(x),putchar(k);}
const int inf=~0U>>1,linf=~0ULL>>1,iinf=1e18;
const int mod=998244353,g=3,gi=332748118,seed=19260817;
const int N=1e6+10;
int a,b,x,y;
main(){
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
a=rd,b=rd;bool flag=0;int cnt=1;
for(int i=31;i>=0;i--){
if((a>>i&1)&&!(b>>i&1)) cnt=0;
if(!(a>>i&1)&&(b>>i&1)) cnt*=2-!flag,flag=1;
}wt(cnt,'\n');
return fflush(),0;
}
vjudge1