Submission #65036

#TimeUsernameProblemLanguageResultExecution timeMemory
65036theknife2001Robots (IOI13_robots)C++17
28 / 100
395 ms20296 KiB
#include "robots.h"
#include <bits/stdc++.h>

using namespace std;
map < int , int > mp;
const int N=5e4+55;
int a[N];

int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[])
{
    if(T==2)
    {
        int a=W[0];
        int b=S[0];
        sort(W,W+2);
        sort(S,S+2);
        if(B==0)
        {
            sort(X,X+2);
            if(X[1]<=W[1])
                return -1;
            if(X[0]<=W[0])
                return 2;
            return 1;
        }
        if(A==0)
        {
            sort(Y,Y+2);
            if(Y[1]<=S[1])
                return -1;
            if(Y[0]<=S[0])
                return 2;
            return 1;
        }
        if(X[0]>W[1])
        {
            if(Y[0]>S[0])
                return 1;
            return 2;
        }
        else if(Y[0]>S[1])
        {
            if(X[0]>W[0])
                return 1;
            return 2;
        }
        if(Y[0]>S[0]&&X[0]>W[0])
        {
            if(b==S[0]&&a==W[0])
                return -1;
            return 1;
        }
        return -1;
    }
    if(B==0)
    {
        sort(X,X+A);
        sort(W,W+T);
        if(W[T-1]>=X[A-1])
            return -1;
        int cnt=0;
        for(int i=0;i<A;i++)
            mp[X[i]]=cnt++;
        for(int i=T-1;i>=0;i--)
            a[mp[*upper_bound(X,X+A,W[i])]]++;
        cnt=0;
        int ans=0;
        for(int i=A-1;i>=0;i--)
        {
            cnt+=a[i];
            ans=max(ans,(cnt+(A-i-1))/(A-i));
        }
        return ans;
    }
}

Compilation message (stderr)

robots.cpp: In function 'int putaway(int, int, int, int*, int*, int*, int*)':
robots.cpp:75:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#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...