提出 #4959797
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define REP(i,n) FOR(i,0,n)
#define FOR(i,a,b) for(int i=(a),i##Len_=(b);i<i##Len_;i++)
const char* LF = "\n";
namespace{struct _{_(){
cin.tie(0);
ios::sync_with_stdio(false);
}}a;}
signed main() {
int N, K;
cin >> N >> K;
string S;
cin >> S;
vector<int> A;
A.reserve(N);
vector<int> A_;
A_.reserve(N);
vector<int> AS;
AS.reserve(N);
vector<int> B_;
B_.reserve(N);
vector<int> BS;
BS.reserve(N);
vector<int> E; //mode
E.reserve(N);
int cnt = 1;
if (0 == N - 1) {
A.push_back(cnt);
E.push_back(S[0] == '0' ? 0 : 1);
}
FOR(i, 1, N) {
if (S[i] != S[i-1]) {
A.push_back(cnt);
E.push_back(S[i-1] == '0' ? 0 : 1);
cnt = 1;
}
else {
cnt++;
}
if (i == N - 1) {
A.push_back(cnt);
E.push_back(S[i] == '0' ? 0 : 1);
}
}
REP(i, A.size()) {
if (E[i] == 0) {
A_.push_back(A[i]);
}
else {
B_.push_back(A[i]);
}
}
int s_ = 0;
AS.push_back(0);
REP(i, A_.size()) {
s_ += A_[i];
AS.push_back(s_);
}
s_ = 0;
BS.push_back(0);
REP(i, B_.size()) {
s_ += B_[i];
BS.push_back(s_);
}
int ans = 0;
const int NAS = AS.size();
const int NBS = BS.size();
REP(i, K) {
AS.push_back(AS[NAS-1]);
BS.push_back(BS[NBS-1]);
}
for (int i=0; i<NBS-(K); i++) {
int a = BS[min(i+(K+1), NBS-1)] - BS[i];
a += AS[min(i+K, NAS)] - AS[i];
if (a > ans) ans = a;
}
cout << ans << LF;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Handstand |
| ユーザ | vpplcb |
| 言語 | C++14 (GCC 5.4.1) |
| 得点 | 0 |
| コード長 | 1856 Byte |
| 結果 | WA |
| 実行時間 | 3 ms |
| メモリ | 2256 KiB |
ジャッジ結果
| セット名 | All | Sample | ||||||
|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 400 | 0 / 0 | ||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| All | sample_01, sample_02, sample_03, testcase_01, testcase_02, testcase_03, testcase_04, testcase_05, testcase_06, testcase_07, testcase_08, testcase_09, testcase_10, testcase_11, testcase_12, testcase_13, testcase_14, testcase_15 |
| Sample | sample_01, sample_02, sample_03 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample_01 | AC | 1 ms | 256 KiB |
| sample_02 | AC | 1 ms | 256 KiB |
| sample_03 | AC | 1 ms | 256 KiB |
| testcase_01 | WA | 1 ms | 512 KiB |
| testcase_02 | AC | 1 ms | 512 KiB |
| testcase_03 | AC | 3 ms | 1232 KiB |
| testcase_04 | AC | 1 ms | 256 KiB |
| testcase_05 | WA | 3 ms | 2000 KiB |
| testcase_06 | AC | 3 ms | 2128 KiB |
| testcase_07 | AC | 3 ms | 2256 KiB |
| testcase_08 | AC | 3 ms | 2176 KiB |
| testcase_09 | AC | 3 ms | 2256 KiB |
| testcase_10 | WA | 2 ms | 512 KiB |
| testcase_11 | AC | 1 ms | 384 KiB |
| testcase_12 | WA | 1 ms | 384 KiB |
| testcase_13 | AC | 2 ms | 512 KiB |
| testcase_14 | WA | 3 ms | 1616 KiB |
| testcase_15 | AC | 1 ms | 256 KiB |