結果
| 問題 |
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;
}