結果
問題 | No.78 クジ付きアイスバー |
ユーザー |
![]() |
提出日時 | 2015-08-11 01:25:29 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 708 bytes |
コンパイル時間 | 528 ms |
コンパイル使用メモリ | 61,852 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-08 00:47:28 |
合計ジャッジ時間 | 1,748 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 35 |
ソースコード
#include <iostream>#include <algorithm>#include <sstream>#include <vector>using namespace std;bool solve(int N, int M, int C){if (N <= 1 || M <= 1) {return N <= 2 && M <= 2;}return N*M % 2 == 0;}int main(int argc, char *argv[]){int N, K;string S;cin >> N >> K >> S;int p[64] = {};int b = 0, e = 0;int r = 0;for (int i = 0; i < 3 * N; ++i) {if (r <= 0) {++b, ++e;if (p[i % N] > 0) {int m = (K - e) / N - 1;if (m > 0) {int t = b - p[i % N];b += t * m;e += N * m;}}p[i % N] = b;r += S[i % N] - '0';} else {--r;++e;r += S[i % N] - '0';}if (e >= K) {break;}}cout << b << endl;return 0;}