Submission #554061

#TimeUsernameProblemLanguageResultExecution timeMemory
554061tht2005Sightseeing in Kyoto (JOI22_kyoto)C++17
40 / 100
127 ms67176 KiB
#include <bits/stdc++.h> using namespace std; typedef long long LL; const LL INF = numeric_limits<LL>::max(); const int N = 100005; const int W = 2003; int w, h, a[N], b[N], n, m, c[W], d[W]; LL f[W][W]; int main() { scanf("%d %d", &w, &h); for(int i = 1; i <= w; ++i) { scanf("%d", a + i); } n = 0; for(int i = 1; i <= w; ++i) { c[++n] = i; if(i != 1 && i != w) { while(n > 1) { if(a[c[n]] < a[c[n - 1]] || a[c[n]] < a[i + 1]) break; --n; } } } for(int i = 1; i <= h; ++i) { scanf("%d", b + i); } m = 0; for(int i = 1; i <= h; ++i) { d[++m] = i; if(i != 1 && i != h) { while(m > 1) { if(b[d[m]] < b[d[m - 1]] || b[d[m]] < b[i + 1]) break; --m; } } } for(int i = 1; i <= n; ++i) { for(int j = 1; j <= m; ++j) { f[i][j] = INF; } } f[1][1] = 0; for(int i = 1; i <= n; ++i) { for(int j = 1; j <= m; ++j) { if(i != 1) f[i][j] = min(f[i][j], f[i - 1][j] + (LL)b[d[j]] * (c[i] - c[i - 1])); if(j != 1) f[i][j] = min(f[i][j], f[i][j - 1] + (LL)a[c[i]] * (d[j] - d[j - 1])); } } printf("%lld", f[n][m]); return 0; }

Compilation message (stderr)

kyoto.cpp: In function 'int main()':
kyoto.cpp:15:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     scanf("%d %d", &w, &h);
      |     ~~~~~^~~~~~~~~~~~~~~~~
kyoto.cpp:17:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |         scanf("%d", a + i);
      |         ~~~~~^~~~~~~~~~~~~
kyoto.cpp:31:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   31 |         scanf("%d", b + i);
      |         ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...