Submission #65246

# Submission time Handle Problem Language Result Execution time Memory
65246 2018-08-07T07:12:03 Z KHUSRAV Boxes with souvenirs (IOI15_boxes) C++14
10 / 100
2 ms 420 KB
#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 ;
}

Compilation message

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 time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Incorrect 2 ms 252 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 420 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Incorrect 2 ms 256 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 2 ms 256 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Correct 2 ms 256 KB Output is correct
12 Incorrect 2 ms 252 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 2 ms 256 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Correct 2 ms 256 KB Output is correct
12 Incorrect 2 ms 252 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 2 ms 256 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Correct 2 ms 256 KB Output is correct
12 Incorrect 2 ms 252 KB Output isn't correct
13 Halted 0 ms 0 KB -