# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
361660 | 2021-01-31T03:50:31 Z | Dymo | 도장 모으기 (JOI14_stamps) | C++14 | 153 ms | 35912 KB |
#include<bits/stdc++.h> using namespace std; #define ll int #define pll pair<ll,ll> #define ff first #define ss second #define pb push_back #define endl "\n" const ll maxn =3e3+10; const ll mod=1e9+7; const ll base=1e9; ll dp[maxn][maxn]; ll stayleft[maxn]; ll stayright[maxn]; ll toleft[maxn]; ll toright[maxn]; ll n, t; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); if (fopen("A.inp","r")) { freopen("A.inp","r",stdin); freopen("A.out","w",stdout); } cin>> n>> t; for (int i=0;i<n;i++) { ll u, v, d, e; cin>> u>> v>> d>> e; stayleft[i]=d+e; stayright[i]=u+v; toleft[i]=u+e; toright[i]=v+d; } for (int i=0;i<=n;i++) { for (int j=0;j<=n;j++) { dp[i][j]=base; } } dp[0][0]=0; for (ll i=0;i<n;i++) { for (ll j=0;j<=n;j++) { if (j) dp[i][j]=min(dp[i][j],dp[i][j-1]-2*t*i+toright[i]); } for (ll j=n;j>=0;j--) { if (j<n) dp[i][j]=min(dp[i][j],dp[i][j+1]+2*t*i+toleft[i]); } for (ll j=0;j<=n;j++) { dp[i+1][j]=min(dp[i+1][j],dp[i][j]+stayright[i]); dp[i+1][j+1]=min(dp[i+1][j+1],dp[i][j]-2*t*i+toright[i]); if (j) dp[i+1][j-1]=min(dp[i+1][j-1],dp[i][j]+2*t*i+toleft[i]); if (j) dp[i+1][j]=min(dp[i+1][j],dp[i][j]+stayleft[i]); } } ll ans=dp[n][0]+(n+1)*t; cout <<ans; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 0 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Correct | 1 ms | 364 KB | Output is correct |
8 | Correct | 1 ms | 364 KB | Output is correct |
9 | Correct | 32 ms | 364 KB | Output is correct |
10 | Correct | 1 ms | 512 KB | Output is correct |
11 | Correct | 1 ms | 364 KB | Output is correct |
12 | Correct | 1 ms | 364 KB | Output is correct |
13 | Correct | 1 ms | 364 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 748 KB | Output is correct |
2 | Correct | 1 ms | 396 KB | Output is correct |
3 | Correct | 2 ms | 748 KB | Output is correct |
4 | Correct | 1 ms | 384 KB | Output is correct |
5 | Correct | 1 ms | 492 KB | Output is correct |
6 | Correct | 1 ms | 620 KB | Output is correct |
7 | Correct | 1 ms | 748 KB | Output is correct |
8 | Correct | 1 ms | 748 KB | Output is correct |
9 | Correct | 1 ms | 748 KB | Output is correct |
10 | Correct | 1 ms | 748 KB | Output is correct |
11 | Correct | 1 ms | 748 KB | Output is correct |
12 | Correct | 1 ms | 748 KB | Output is correct |
13 | Correct | 1 ms | 896 KB | Output is correct |
14 | Correct | 2 ms | 748 KB | Output is correct |
15 | Correct | 1 ms | 748 KB | Output is correct |
16 | Correct | 2 ms | 748 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 151 ms | 35820 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 151 ms | 35912 KB | Output is correct |
4 | Correct | 118 ms | 31724 KB | Output is correct |
5 | Correct | 105 ms | 27872 KB | Output is correct |
6 | Correct | 44 ms | 15468 KB | Output is correct |
7 | Correct | 25 ms | 10220 KB | Output is correct |
8 | Correct | 151 ms | 35820 KB | Output is correct |
9 | Correct | 150 ms | 35872 KB | Output is correct |
10 | Correct | 149 ms | 35820 KB | Output is correct |
11 | Correct | 150 ms | 35820 KB | Output is correct |
12 | Correct | 150 ms | 35820 KB | Output is correct |
13 | Correct | 150 ms | 35868 KB | Output is correct |
14 | Correct | 150 ms | 35820 KB | Output is correct |
15 | Correct | 153 ms | 35820 KB | Output is correct |
16 | Correct | 150 ms | 35820 KB | Output is correct |
17 | Correct | 149 ms | 35820 KB | Output is correct |