| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1329239 | xiaoxuanzheng | Potatoes and fertilizers (LMIO19_bulves) | C++17 | 231 ms | 916 KiB |
#include<bits/stdc++.h>
#define LL long long
#define fi first
#define se second
using namespace std;
const int N=3e3+10,M=3e4+10;
int n,a[N],b[N],f[2][M<<1],s,d[N];
signed main(){
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d%d",&a[i],&b[i]);
s+=a[i];
d[i]=a[i]-b[i];
}
assert(n<=3000&&s<=30000);
memset(f,0x3f,sizeof(f));
for(int i=M;i<=M+s;i++)f[i&1][i]=0;
for(int i=1;i<n;i++){
for(int j=M-s;j<=M+s;j++){
f[i&1][j]=min(f[i&1][j-1],abs(j-M)+f[i&1^1][min(M+s,max(M-s-1,j+d[i]))]);
// printf("%d %d\n",j,f[i&1][j]);
//k<=j+d
//D>=0
}
// if(i==1)printf("%d\n",f[i&1][M]);
}
printf("%d\n",f[n&1^1][min(M+s,max(M-s-1,M+d[n]))]);
return 0;
}컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
