結果
問題 | No.78 クジ付きアイスバー |
ユーザー |
|
提出日時 | 2014-11-25 17:10:47 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 872 bytes |
コンパイル時間 | 642 ms |
コンパイル使用メモリ | 55,648 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-07 23:41:53 |
合計ジャッジ時間 | 1,652 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 35 |
ソースコード
#include <iostream>using namespace std;int solve(int N, int K, string S){int used = 0, remain = 0;for(int i=0;i<N;i++){if(remain > 0){--remain;} else {++used;}--K;if(K <= 0)return used;remain += S[i] - '0';}if(remain >= used)return used;int res = used;int t = max(K / N - 1000, 0);K -= N * t;res += (used - remain) * t;for(int i=0;;i++){if(remain > 0){--remain;} else {++res;}--K;if(K <= 0)return res;remain += S[i % N] - '0';}}int main(){int N, K;string S;cin >> N >> K >> S;cout << solve(N, K, S) << endl;return 0;}