# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
43335 | 2018-03-13T19:37:58 Z | Hassoony | Pohlepko (COCI16_pohlepko) | C++14 | 1000 ms | 14404 KB |
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int MX=2009; int n,m; char a[MX][MX]; string ans[2][MX],s1,s2; int main(){ scanf("%d%d",&n,&m); for(int i=0;i<n;i++)scanf("%s",&a[i]); if(m==1){ for(int i=0;i<n;i++)s1+=a[i][0]; cout<<s1<<endl; return 0; } if(n==1){ for(int i=0;i<m;i++)s1+=a[0][i]; cout<<s1<<endl; return 0; } ans[0][m-1]=a[n-1][m-1]; for(int i=m-2;i>=0;i--)ans[0][i]=a[n-1][i]+ans[0][i+1]; // for(int i=0;i<m;i++)cout<<ans[0][i]<<endl; for(int i=n-2;i>=0;i--){ for(int j=m-1;j>=0;j--){ if(j==m-1){ ans[1][j]=a[i][j]+ans[0][j]; continue; } s1=a[i][j]+ans[0][j]; s2=a[i][j]+ans[1][j+1]; ans[1][j]=min(s1,s2); } for(int j=0;j<MX;j++)ans[0][j]=ans[1][j],ans[1][j]=""; } cout<<ans[0][0]<<endl; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 1504 KB | Output is correct |
3 | Correct | 2 ms | 1504 KB | Output is correct |
4 | Correct | 4 ms | 1504 KB | Output is correct |
5 | Correct | 6 ms | 2344 KB | Output is correct |
6 | Correct | 133 ms | 2676 KB | Output is correct |
7 | Correct | 903 ms | 9028 KB | Output is correct |
8 | Execution timed out | 1073 ms | 14280 KB | Time limit exceeded |
9 | Correct | 6 ms | 14280 KB | Output is correct |
10 | Correct | 31 ms | 14280 KB | Output is correct |
11 | Correct | 67 ms | 14280 KB | Output is correct |
12 | Correct | 223 ms | 14280 KB | Output is correct |
13 | Correct | 164 ms | 14280 KB | Output is correct |
14 | Execution timed out | 1075 ms | 14404 KB | Time limit exceeded |
15 | Correct | 9 ms | 14404 KB | Output is correct |
16 | Execution timed out | 1066 ms | 14404 KB | Time limit exceeded |