제출 #234787

#제출 시각아이디문제언어결과실행 시간메모리
234787nicolaalexandraMiners (IOI07_miners)C++14
100 / 100
141 ms100728 KiB
#include <bits/stdc++.h> #define DIM 100010 #define INF 2000000000 using namespace std; int dp[DIM][4][4][4][4]; char v[DIM]; int n,i,nr; int main (){ //ifstream cin ("date.in"); // ofstream cout ("date.out"); cin>>n>>v+1; for (i=0;i<=n;i++) for (int val=0;val<=3;val++) for (int val2=0;val2<=3;val2++) for (int val3=0;val3<=3;val3++) for (int val4=0;val4<=3;val4++) dp[i][val][val2][val3][val4] = -INF; dp[0][0][0][0][0] = 0; for (i=0;i<n;i++){ if (v[i+1] == 'M') nr = 1; else { if (v[i+1] == 'F') nr = 2; else nr = 3; } for (int val=0;val<=3;val++) for (int val2=0;val2<=3;val2++) for (int val3=0;val3<=3;val3++) for (int val4=0;val4<=3;val4++){ if (dp[i][val][val2][val3][val4] == -INF) continue; /// pun in mina 1 int cnt = 0; if (val == 1 || val2 == 1 || nr == 1) cnt++; if (val == 2 || val2 == 2 || nr == 2) cnt++; if (val == 3 || val2 == 3 || nr == 3) cnt++; dp[i+1][val2][nr][val3][val4] = max (dp[i+1][val2][nr][val3][val4], dp[i][val][val2][val3][val4] + cnt); /// pun in mina 2 cnt = 0; if (val3 == 1 || val4 == 1 || nr == 1) cnt++; if (val3 == 2 || val4 == 2 || nr == 2) cnt++; if (val3 == 3 || val4 == 3 || nr == 3) cnt++; dp[i+1][val][val2][val4][nr] = max (dp[i+1][val][val2][val4][nr], dp[i][val][val2][val3][val4] + cnt); }} int sol = 0; for (int val=0;val<=3;val++) for (int val2=0;val2<=3;val2++) for (int val3=0;val3<=3;val3++) for (int val4=0;val4<=3;val4++) sol = max (sol,dp[n][val][val2][val3][val4]); cout<<sol; return 0; }

컴파일 시 표준 에러 (stderr) 메시지

miners.cpp: In function 'int main()':
miners.cpp:13:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
     cin>>n>>v+1;
             ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...