Submission #77573

# Submission time Handle Problem Language Result Execution time Memory
77573 2018-09-28T17:26:37 Z MvC Boxes with souvenirs (IOI15_boxes) C++14
10 / 100
2 ms 376 KB
#include "boxes.h"
#pragma GCC optimize("O3")
#include<bits/stdc++.h>
#define rc(x) return cout<<x<<endl,0
#define pb push_back
#define in insert
#define er erase
#define fd find
#define fr first
#define sc second
typedef long long ll;
const ll INF=0x3f3f3f3f3f3f3f3f;
const ll llinf=(1LL<<61);
const int inf=(1<<30);
const int nmax=1e7+50;
const int mod=1e9+7;
using namespace std;
ll i,k1,nr,a[nmax],ans;
vector<ll>f,s;
ll delivery(int n,int k,int l,int pos[])
{
	l--;
    for(i=1;i<=n;i++)
    {
    	a[i]=pos[i-1];
        if((l&1) && a[i]==(l/2)+1)nr++;
        else if(a[i]<=l/2)f.pb(a[i]);
        else s.pb(a[i]);
    }
    reverse(s.begin(),s.end());
    ans+=1LL*(l+1)*(nr/k);
    nr%=k;
    if(nr)
    {
        k1=k-nr;
        ans+=1LL*(l+1);
        while(k1--)
        {
            if(f.back()>=l-s.back()+1)f.pop_back();
            else s.pop_back();
        }
    }
    while(!f.empty())
    {
        ans+=f.back()*2LL;
        k1=k;
        while(k1-- && !f.empty())f.pop_back();
    }
    while(!s.empty())
    {
        ans+=1LL*(l-s.back()+1)*2LL;
        k1=k;
        while(k1-- && !s.empty())s.pop_back();
    }
    return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 252 KB Output is correct
2 Correct 2 ms 296 KB Output is correct
3 Correct 2 ms 348 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Incorrect 2 ms 376 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 252 KB Output is correct
2 Correct 2 ms 296 KB Output is correct
3 Correct 2 ms 348 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Incorrect 2 ms 376 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 252 KB Output is correct
2 Correct 2 ms 296 KB Output is correct
3 Correct 2 ms 348 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Incorrect 2 ms 376 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 252 KB Output is correct
2 Correct 2 ms 296 KB Output is correct
3 Correct 2 ms 348 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Incorrect 2 ms 376 KB Output isn't correct
10 Halted 0 ms 0 KB -