結果
| 問題 | No.2142 Segment Zero |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-02-23 18:01:00 |
| 言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 881 bytes |
| コンパイル時間 | 24,861 ms |
| コンパイル使用メモリ | 357,848 KB |
| 最終ジャッジ日時 | 2025-02-19 19:13:54 |
|
ジャッジサーバーID (参考情報) |
judge1 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 21 WA * 14 |
ソースコード
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
#include<atcoder/all>
using namespace std;
using namespace atcoder;
using ll=long long;
void IO(){
ios::sync_with_stdio(false);
std::cin.tie(nullptr);
}
void rle(string s, vector<pair<char, ll>> &vec){
ll cnt=1;
for(ll i=1;i<(ll)s.size();i++){
if(s[i]!=s[i-1]){
vec.push_back({s[i-1],cnt});
cnt=0;
}
cnt++;
}
vec.push_back({s.back(),cnt});
}
int main(){
IO();
ll n,k;
cin>>n>>k;
vector<char> v(n+1,'0');
ll rest=k;
for(ll i=n;i>=1;i--){
if(rest-i>=0){
rest-=i;
v[i]='1';
}
}
string s;
for(ll i=1;i<=n;i++){
s+=v[i];
}
vector<pair<char,ll>> svec;
rle(s,svec);
ll ans=0;
for(ll i=0;i<(ll)svec.size();i++){
if(svec[i].first=='0'){
ans++;
}
}
cout<<ans<<endl;
}