結果
問題 |
No.2142 Segment Zero
|
ユーザー |
|
提出日時 | 2023-04-27 16:38:24 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 481 ms / 2,000 ms |
コード長 | 1,025 bytes |
コンパイル時間 | 2,075 ms |
コンパイル使用メモリ | 188,668 KB |
実行使用メモリ | 53,760 KB |
最終ジャッジ日時 | 2024-11-16 22:22:13 |
合計ジャッジ時間 | 10,980 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 35 |
ソースコード
#pragma GCC optimize(3,"Ofast","inline") #include <bits/stdc++.h> #define ios_close std::ios::sync_with_stdio(false), std::cin.tie(nullptr), std::cout.tie(nullptr) using ll = long long; using ull = unsigned long long; using i128 = __int128; #define Pi acos(-1.0); #define PINF 0x3f3f3f3f #define NINF -0x3f3f3f3f void solve(){ std::vector<ll> pre(1000010); int n; ll k; scanf("%d %lld", &n, &k); for(int i = 1; i <= n; i ++ ){ pre[i] = pre[i - 1] + i; } if(pre[n] == k){ printf("0"); return ; } std::unordered_set<ll> S; S.insert(0); ll t = k - pre[n]; for(int i = 1; i <= n; i ++ ){ if(S.count(t + pre[i])){ printf("1"); return ; } S.insert(pre[i]); } printf("2"); } int main(){ #if 0 ios_close; #endif #if 0 freopen(".in", "r", stdin); freopen(".out", "w", stdout); #endif int T = 1; #if 0 std::cin >> T; #endif while(T -- ){ solve(); } return 0; }