# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
555313 | 2022-04-30T12:12:40 Z | 600Mihnea | Sightseeing in Kyoto (JOI22_kyoto) | C++17 | 413 ms | 1048576 KB |
#include <bits/stdc++.h> bool home = 1; using namespace std; typedef long long ll; const int N=(int)1e5+7; const ll INF=(ll)1e18+7; int n; int m; ll a[N]; ll b[N]; bool in_shib_a[N]; bool in_shib_b[N]; signed main() { #ifdef ONLINE_JUDGE home = 0; #endif home = 0; if (home) { freopen("I_am_iron_man", "r", stdin); } else { ios::sync_with_stdio(0); cin.tie(0); } vector<int> shib_a, shib_b; cin>>n>>m; for (int i=1;i<=n;i++) { cin>>a[i]; while (1) { if((int)shib_a.size()<2) break; int p1=shib_a[(int)shib_a.size()-2]; int p2=shib_a[(int)shib_a.size()-1]; if((a[i]-a[p2])*(p2-p1)<(a[p2]-a[p1])*(i-p2)) { shib_a.pop_back(); }else{ break; } } shib_a.push_back(i); } for (int i=1;i<=m;i++) { cin>>b[i]; while (1) { if((int)shib_b.size()<2) break; int p1=shib_b[(int)shib_b.size()-2]; int p2=shib_b[(int)shib_b.size()-1]; if((b[i]-b[p2])*(p2-p1)<(b[p2]-b[p1])*(i-p2)) { shib_b.pop_back(); }else{ break; } } shib_b.push_back(i); } for (auto &i:shib_a) in_shib_a[i]=1; for (auto &i:shib_b) in_shib_b[i]=1; vector<vector<ll>> dp(n+1,vector<ll> (m+1, INF)); dp[1][1]=0; for (int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(i+1<=n&&in_shib_b[j]) dp[i+1][j]=min(dp[i+1][j],dp[i][j]+b[j]); if(j+1<=m&&in_shib_a[i]) dp[i][j+1]=min(dp[i][j+1],dp[i][j]+a[i]); } } cout<<dp[n][m]<<"\n"; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 1 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 340 KB | Output is correct |
4 | Correct | 1 ms | 724 KB | Output is correct |
5 | Correct | 1 ms | 340 KB | Output is correct |
6 | Correct | 1 ms | 340 KB | Output is correct |
7 | Correct | 1 ms | 340 KB | Output is correct |
8 | Correct | 1 ms | 340 KB | Output is correct |
9 | Correct | 5 ms | 8148 KB | Output is correct |
10 | Correct | 5 ms | 8148 KB | Output is correct |
11 | Correct | 6 ms | 8148 KB | Output is correct |
12 | Correct | 6 ms | 8256 KB | Output is correct |
13 | Correct | 10 ms | 8148 KB | Output is correct |
14 | Correct | 6 ms | 8148 KB | Output is correct |
15 | Correct | 6 ms | 8148 KB | Output is correct |
16 | Correct | 7 ms | 8148 KB | Output is correct |
17 | Correct | 10 ms | 8212 KB | Output is correct |
18 | Correct | 1 ms | 340 KB | Output is correct |
19 | Correct | 0 ms | 340 KB | Output is correct |
20 | Correct | 0 ms | 328 KB | Output is correct |
21 | Correct | 0 ms | 340 KB | Output is correct |
22 | Correct | 1 ms | 336 KB | Output is correct |
23 | Correct | 0 ms | 340 KB | Output is correct |
24 | Correct | 1 ms | 340 KB | Output is correct |
25 | Correct | 1 ms | 340 KB | Output is correct |
26 | Correct | 1 ms | 340 KB | Output is correct |
27 | Correct | 0 ms | 340 KB | Output is correct |
28 | Correct | 1 ms | 340 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 1 ms | 340 KB | Output is correct |
3 | Correct | 3 ms | 3412 KB | Output is correct |
4 | Runtime error | 413 ms | 1048576 KB | Execution killed with signal 9 |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 1 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 340 KB | Output is correct |
4 | Correct | 1 ms | 724 KB | Output is correct |
5 | Correct | 1 ms | 340 KB | Output is correct |
6 | Correct | 1 ms | 340 KB | Output is correct |
7 | Correct | 1 ms | 340 KB | Output is correct |
8 | Correct | 1 ms | 340 KB | Output is correct |
9 | Correct | 5 ms | 8148 KB | Output is correct |
10 | Correct | 5 ms | 8148 KB | Output is correct |
11 | Correct | 6 ms | 8148 KB | Output is correct |
12 | Correct | 6 ms | 8256 KB | Output is correct |
13 | Correct | 10 ms | 8148 KB | Output is correct |
14 | Correct | 6 ms | 8148 KB | Output is correct |
15 | Correct | 6 ms | 8148 KB | Output is correct |
16 | Correct | 7 ms | 8148 KB | Output is correct |
17 | Correct | 10 ms | 8212 KB | Output is correct |
18 | Correct | 1 ms | 340 KB | Output is correct |
19 | Correct | 0 ms | 340 KB | Output is correct |
20 | Correct | 0 ms | 328 KB | Output is correct |
21 | Correct | 0 ms | 340 KB | Output is correct |
22 | Correct | 1 ms | 336 KB | Output is correct |
23 | Correct | 0 ms | 340 KB | Output is correct |
24 | Correct | 1 ms | 340 KB | Output is correct |
25 | Correct | 1 ms | 340 KB | Output is correct |
26 | Correct | 1 ms | 340 KB | Output is correct |
27 | Correct | 0 ms | 340 KB | Output is correct |
28 | Correct | 1 ms | 340 KB | Output is correct |
29 | Correct | 1 ms | 340 KB | Output is correct |
30 | Correct | 1 ms | 340 KB | Output is correct |
31 | Correct | 3 ms | 3412 KB | Output is correct |
32 | Runtime error | 413 ms | 1048576 KB | Execution killed with signal 9 |
33 | Halted | 0 ms | 0 KB | - |