제출 #65246

#제출 시각아이디문제언어결과실행 시간메모리
65246KHUSRAVBoxes with souvenirs (IOI15_boxes)C++14
10 / 100
2 ms420 KiB
#include "boxes.h"
#include<bits/stdc++.h>
using namespace std ;
long long delivery(int N, int K, int L, int p[]) {
    deque<int> dq ;
    long long ans = 0 ;
    for(int i = 0 ; i < N ; i++)
        dq.push_back(p[i]);
    int pp ;
    while(dq.size() > 0){
        if(dq.size() >= K){
            int v1 = dq[K - 1];
            v1 += min(v1 , L - dq[K - 1] );
            int v2 = L - dq[dq.size() - K] ;
            v2 += min(v2 , dq[dq.size() - K]);
            //cout << v1 <<" "<<v2<<'\n';
            if(v1 <= v2){
                ans += v1 ;
                pp = K ;
                while(pp > 0){
                    pp -- ;
                    dq.pop_front();
                }
            }
            else{
                ans += v2 ;
                pp = K ;
                while(pp > 0){
                    pp -- ;
                    dq.pop_back();
                }
            }
        }
        else{
            K = dq.size();
            int v1 = dq[K - 1];
            v1 += min(v1 , L - dq[K - 1] );
            int v2 = L - dq[dq.size() - K] ;
            v2 += min(v2 , dq[dq.size() - K]);
            if(v1 <= v2){
                ans += v1 ;
                pp = K ;
                while(pp > 0){
                    pp -- ;
                    dq.pop_front();
                }
            }
            else{
                ans += v2 ;
                pp = K ;
                while(pp > 0){
                    pp -- ;
                    dq.pop_back();
                }
            }
        }
    }
    return ans ;
}

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

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:11:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if(dq.size() >= K){
            ~~~~~~~~~~^~~~
boxes.cpp:35:24: warning: conversion to 'int' from 'std::deque<int>::size_type {aka long unsigned int}' may alter its value [-Wconversion]
             K = dq.size();
                 ~~~~~~~^~
#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...