# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
43338 | Hassoony | Pohlepko (COCI16_pohlepko) | C++14 | 1062 ms | 14624 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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=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;
}
ans[1][j]=min(a[i][j]+ans[0][j],a[i][j]+ans[1][j+1]);
ans[0][j]=ans[1][j];
ans[1][j+1]="";
}
ans[1][0]="";
}
cout<<ans[0][0]<<endl;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |