제출 #1056874

#제출 시각아이디문제언어결과실행 시간메모리
1056874Faisal_SaqibBoxes with souvenirs (IOI15_boxes)C++17
100 / 100
376 ms293992 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define vll vector<ll>
#define all(x) begin(x),end(x)
#define pb push_back

long long delivery(int n, int k, int LP, int p[])
{
    ll l=LP;
    // if(k==1)
    // {
    //     ll ans=0; 
    //     for(int i=0;i<n;i++)
    //         ans+=(2ll*(ll)min(p[i],l-p[i]));
    //     return ans;
    // }
    // else if(k==n){
        ll ans=1e18;
        ll pq[n],qp[n];
        pq[0]=min(l,2ll*p[0]);
        for(int i=1;i<n;i++)
        {
            pq[i]=min(l,2ll*p[i]);
            if((i-k)>=0)
                pq[i]+=pq[i-k];
        }
        ll mx=0;
        ans=min(ans,pq[n-1]);
        for(int j=n-1;j>=0;j--)
        {
            qp[j]=min(l,2ll*(l-p[j]));
            if((j+k)<n)
                qp[j]+=qp[j+k];
            if(j==0)
            {
                ans=min(ans,qp[j]);
            }
            else{
                ans=min(ans,qp[j]+pq[j-1]);
            }
        }
        return ans;
    // }
    // return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:30:12: warning: unused variable 'mx' [-Wunused-variable]
   30 |         ll mx=0;
      |            ^~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...