# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
555204 | 2022-04-30T09:33:46 Z | 600Mihnea | Sightseeing in Kyoto (JOI22_kyoto) | C++17 | 1 ms | 340 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]; 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); } cin>>n>>m; for (int i=1;i<=n;i++) cin>>a[i]; for (int i=1;i<=m;i++) cin>>b[i]; vector<ll> dp(m+1,INF); vector<ll> difs(m); for (int j=1;j<=m;j++){ dp[j]=a[1]*(j-1); } difs[0]=-INF; for (int j=1;j<m;j++){ difs[j]=a[1]; } for (int i=2;i<=n;i++){ for(int j=0;j<m;j++){ assert(dp[j+1]-dp[j]==difs[j]); } for(int j=1;j<=m;j++){ dp[j]=min(dp[j]+b[j],dp[j-1]+a[i]); difs[j-1]=dp[j]-dp[j-1]; } } cout<<dp[m]<<"\n"; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 340 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 340 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 340 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |