Submission #243451

# Submission time Handle Problem Language Result Execution time Memory
243451 2020-07-01T08:13:21 Z N1NT3NDO Pohlepko (COCI16_pohlepko) C++14
5 / 80
96 ms 20216 KB
#include <bits/stdc++.h>
#define ll long long
#define F first
#define S second
#define pb push_back

using namespace std;

short n,m;
string s;
char c[2001][2001];
pair<short,short> dp[2001][2001];

void Rec(short i,short j)
{
  s+=c[i][j];
  if (i==0 && j==0)
    return;
  else Rec(dp[i][j].F,dp[i][j].S);
}

int main()
{
  //freopen("input.txt","r",stdin);
  //freopen("output.txt","w",stdout);
  ios_base::sync_with_stdio(0); cin.tie(0);
  cin >> n >> m;
  for(short i=0;i<n;i++)
    for(short j=0;j<m;j++) cin >> c[i][j];
  dp[0][0]={0,0};
  for(short i=0;i<n;i++)
    for(short j=0;j<m;j++)
      if (i!=0 || j!=0)
      {
          if (i-1>=0 && j-1>=0)
           {
             if (c[i][j]+c[i-1][j]<c[i][j]+c[i][j-1]) dp[i][j]={i-1,j};
             else dp[i][j]={i,j-1};
           }
        else if (i-1>=0 && j-1<0) dp[i][j]={i-1,j};
        else if (i-1<0 && j-1>=0) dp[i][j]={i,j-1};
      }
  s+=c[n-1][m-1];
  Rec(dp[n-1][m-1].F,dp[n-1][m-1].S);
  reverse(s.begin(),s.end());
  cout << s;
}
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 384 KB Output isn't correct
2 Correct 6 ms 3328 KB Output is correct
3 Incorrect 5 ms 384 KB Output isn't correct
4 Incorrect 5 ms 640 KB Output isn't correct
5 Incorrect 5 ms 512 KB Output isn't correct
6 Incorrect 11 ms 3712 KB Output isn't correct
7 Incorrect 40 ms 13688 KB Output isn't correct
8 Incorrect 96 ms 20216 KB Output isn't correct
9 Incorrect 5 ms 896 KB Output isn't correct
10 Incorrect 7 ms 1920 KB Output isn't correct
11 Incorrect 9 ms 1664 KB Output isn't correct
12 Incorrect 16 ms 7936 KB Output isn't correct
13 Incorrect 16 ms 13184 KB Output isn't correct
14 Incorrect 96 ms 20216 KB Output isn't correct
15 Incorrect 5 ms 896 KB Output isn't correct
16 Incorrect 34 ms 15356 KB Output isn't correct