結果
問題 | No.252 "良問"(良問とは言っていない (2) |
ユーザー | ishizu |
提出日時 | 2015-07-31 21:21:18 |
言語 | C++11 (gcc 11.4.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,125 bytes |
コンパイル時間 | 559 ms |
コンパイル使用メモリ | 70,172 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-17 23:04:43 |
合計ジャッジ時間 | 1,746 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 29 ms
6,816 KB |
testcase_01 | AC | 66 ms
6,944 KB |
testcase_02 | RE | - |
testcase_03 | RE | - |
testcase_04 | RE | - |
testcase_05 | RE | - |
testcase_06 | AC | 2 ms
6,944 KB |
ソースコード
#include<iostream> #include<cstdio> #include<vector> #include<queue> #include<map> #include<set> #include<string> #include<algorithm> #include<functional> using namespace std; #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--) #define REP(i,n) for (int i=0;i<(n);i++) #define RREP(i,n) for (int i=(n)-1;i>=0;i--) #define INF 1<<30 #define MP make_pair #define mp make_pair #define pb push_back #define PB push_back #define DEBUG(x) cout<<#x<<": "<<x<<endl #define ll long long #define ull unsigned long long int NG[100010]; int M[100010]; int main(){ cin.tie(0); ios::sync_with_stdio(false); int T;cin>>T; while(T--){ string s;cin>>s; int len = s.size(); REP(i,len+10){ NG[i] = (i) ? NG[i-1]:0; M[i] = 114514; if(i+6>=len) M[i] = 114514; else{ M[i]=0; REP(x,7) if(s[i+x]!="problem"[x]) M[i]++; if(M[i]==0) NG[i]++; } } int mini = 114514; RREP(i,len+1) M[i] = min(M[i],M[i+1]); REP(i,len-4){ int cnt=0; REP(x,4) if(s[i+x] != "good"[x]) cnt++; mini = min(mini,cnt+M[i+4]+((i>=7)? NG[i-7]:0)); } cout<<mini<<endl; } }