結果
問題 | No.2672 Subset Xor Sum |
ユーザー |
|
提出日時 | 2024-03-16 18:18:07 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 270 ms / 2,000 ms |
コード長 | 2,575 bytes |
コンパイル時間 | 1,610 ms |
コンパイル使用メモリ | 156,196 KB |
実行使用メモリ | 362,624 KB |
最終ジャッジ日時 | 2024-09-30 04:32:04 |
合計ジャッジ時間 | 6,332 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 66 |
ソースコード
/*** ^v^**/#include <iostream>#include <numeric>#include <set>#include <iomanip>#include <chrono>#include <queue>#include <string>#include <vector>#include <functional>#include <map>#include <algorithm>#include <array>#include <random>using namespace std;using ll = long long int;using ld = long double;#define iamtefu ios_base::sync_with_stdio(false); cin.tie(0);#define fl(i,a,n) for (ll i(a); i<n; i++)#define rfl(i,a,n) for (ll i(n-1); i>=a; i--)#define ty int _; for(cin>>_; _--;)#define print(a) for(auto ele:a){cout<<ele<<" ";}cout<<'\n';template <typename L, typename R>inline bool chmax(L &a, R &b){if (a<b){a=b;return 1;}return 0;}template <typename L, typename R>inline bool chmin(L &a, R &b){if (a>b){a=b;return 1;}return 0;}template <typename L, typename R>ostream& operator<<(ostream &fout, pair<L, R> &p){fout<<"{"<<p.first<<","<<p.second<<"}";return fout;}template <typename T>ostream& operator<<(ostream &fout, vector <T> &v){for (auto &x:v){fout<<x<<" ";}fout<<"\n";return fout;}template <typename T>ostream& operator<<(ostream &fout, set <T> &st){for (auto &x:st){fout<<x<<" ";}fout<<"\n";return fout;}template <typename K, typename V>ostream& operator<<(ostream &fout, map<K, V> &mp){fout<<"[";for (auto &[x,y]:mp){fout<<x<<":"<<y<<" ";}fout<<"]\n";return fout;}ll gcd(ll a, ll b){if (b==0){return a;}return gcd(b, a%b);}mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count());ll pw(ll a, ll b, ll m){ll res=1;a%=m;while (b){if (b&1){res=(res*a)%m;}a=(a*a)%m;b/=2;}return res;}void scn(){ll n; cin>>n;vector <ll> a(n);ll xr = 0;fl(i,0,n){cin>>a[i];xr^=a[i];}if (xr){cout<<"No\n";return;} else {if (n>5001){cout<<"Yes\n";return;} else {vector <vector <ll>> dp(n+1, vector <ll>(9193));fl(i,1,n){rfl(j,0,9193){dp[i][j]|=dp[i-1][j];dp[i][(a[i-1]^j)]|=dp[i-1][j];}dp[i][a[i-1]]|=1;if (dp[i][0]){cout<<"Yes\n";return;}}cout<<"No\n";}}// not necessarily distinct// right down}int main(){iamtefu;#if defined(airths)auto t1=chrono::high_resolution_clock::now();freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);#endif// ty{scn();}#if defined(airths)auto t2=chrono::high_resolution_clock::now();ld ti=chrono::duration_cast<chrono::nanoseconds>(t2-t1).count();ti*=1e-6;cerr<<"Time: "<<setprecision(12)<<ti;cerr<<"ms\n";#endifreturn 0;}