제출 #1329239

#제출 시각아이디문제언어결과실행 시간메모리
1329239xiaoxuanzhengPotatoes and fertilizers (LMIO19_bulves)C++17
20 / 100
231 ms916 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) 메시지

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