提出 #59866463
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define eb emplace_back
int find_consecutive(char c, string& s, int pos) {
int count = 1;
int i = pos+1;
while (i < s.size()) {
if (c == s[i]) {
count++;
i++;
} else {
return count;
}
}
return count;
}
int main() {
cin.tie(0);
ios::sync_with_stdio(false);
int n;
cin >> n;
int k;
cin >> k;
vector<pair<char, int>> v;
string s;
int count;
int countk=0;
int k_pos;
cin >> s;
for(int i = 0; i < n; ) {
if(s[i]=='0') {
count = find_consecutive('0', s, i);
i+= count;
v.eb(make_pair('0',count));
count = 0;
}
else if(s[i]=='1') {
count = find_consecutive('1', s, i);
i+= count;
countk++;
if(countk==k) {
v[k_pos].second+=count;
} else if(countk==k-1){
k_pos = v.size();
v.eb(make_pair('1',count));
} else {
v.eb(make_pair('1',count));
}
count = 0;
}
}
for(auto p : v) {
for(int i = 0; i < p.second; i++) {
cout << ((p.first=='1')? '1' : '0');
}
}
cout << endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - Move Segment |
| ユーザ | ericskh2 |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 300 |
| コード長 | 1417 Byte |
| 結果 | AC |
| 実行時間 | 11 ms |
| メモリ | 7952 KiB |
コンパイルエラー
Main.cpp: In function ‘int find_consecutive(char, std::string&, int)’:
Main.cpp:8:14: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
8 | while (i < s.size()) {
| ~~^~~~~~~~~~
Main.cpp: In function ‘int main()’:
Main.cpp:45:24: warning: ‘k_pos’ may be used uninitialized [-Wmaybe-uninitialized]
45 | v[k_pos].second+=count;
| ^
Main.cpp:31:9: note: ‘k_pos’ was declared here
31 | int k_pos;
| ^~~~~
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 300 / 300 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| All | min.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, sample_01.txt, sample_02.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| min.txt | AC | 1 ms | 3464 KiB |
| random_01.txt | AC | 11 ms | 7896 KiB |
| random_02.txt | AC | 11 ms | 7952 KiB |
| random_03.txt | AC | 5 ms | 3740 KiB |
| random_04.txt | AC | 5 ms | 3712 KiB |
| random_05.txt | AC | 5 ms | 3688 KiB |
| random_06.txt | AC | 6 ms | 4368 KiB |
| random_07.txt | AC | 1 ms | 3580 KiB |
| random_08.txt | AC | 5 ms | 3704 KiB |
| random_09.txt | AC | 2 ms | 3592 KiB |
| random_10.txt | AC | 6 ms | 4296 KiB |
| random_11.txt | AC | 5 ms | 3704 KiB |
| random_12.txt | AC | 5 ms | 3636 KiB |
| random_13.txt | AC | 1 ms | 3528 KiB |
| random_14.txt | AC | 6 ms | 4364 KiB |
| random_15.txt | AC | 1 ms | 3516 KiB |
| random_16.txt | AC | 5 ms | 3724 KiB |
| random_17.txt | AC | 5 ms | 3688 KiB |
| random_18.txt | AC | 6 ms | 4360 KiB |
| random_19.txt | AC | 5 ms | 3712 KiB |
| random_20.txt | AC | 5 ms | 3732 KiB |
| random_21.txt | AC | 2 ms | 3548 KiB |
| random_22.txt | AC | 6 ms | 4364 KiB |
| random_23.txt | AC | 2 ms | 3472 KiB |
| random_24.txt | AC | 5 ms | 3800 KiB |
| random_25.txt | AC | 4 ms | 3752 KiB |
| sample_01.txt | AC | 1 ms | 3532 KiB |
| sample_02.txt | AC | 1 ms | 3424 KiB |