1 solutions
-
0
C++ :
#include <iostream> #include <cstring> #include <string> using namespace std; int dp[1009][11]; int main() { int testcase; while(cin>>testcase && testcase!=0) { memset(dp,0,sizeof(dp)); int totaltime=-0x3f3f3f3f; int pietime,position; while(testcase--) { scanf("%d%d",&position,&pietime); dp[pietime][position]++; if(pietime>totaltime) totaltime=pietime; } for(int i=totaltime;i>=0;i--) { dp[i][0]+=max(dp[i+1][0],dp[i+1][1]); for(int j=1;j<=9;j++) { dp[i][j]+=max(max(dp[i+1][j+1],dp[i+1][j]),dp[i+1][j-1]); } dp[i][10]+=max(dp[i+1][10],dp[i+1][9]); } cout<<dp[0][5]<<endl; } return 0; }
- 1
Information
- ID
- 20166
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By