답안 #964183

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
964183 2024-04-16T11:52:34 Z vivkostov 로봇 (IOI13_robots) C++14
100 / 100
1511 ms 29752 KB
#include<bits/stdc++.h>
#include "robots.h"
using namespace std;
void speed()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}
struct cell
{
    int w,s;
    bool operator<(const cell&a1)const
    {
        return s<a1.s;
    }
};
bool cmp(cell a1,cell a2)
{
    return a1.w<a2.w;
}
int n,m,t,a[1000005],b[1000005];
cell c[1000005];
priority_queue<cell>q;
bool check(int h)
{
    int j=0;
    for(int i=0;i<n;i++)
    {
        while(c[j].w<a[i]&&j<t)
        {
            q.push(c[j]);
            j++;
        }
        int g=h;
        while(g&&!q.empty())
        {
            q.pop();
            g--;
        }
    }
    for(;j<t;j++)q.push(c[j]);
    for(int i=m-1;i>=0;i--)
    {
        int g=h;
        if(!q.empty()&&q.top().s>=b[i])return false;
        while(g&&!q.empty())
        {
            g--;
            q.pop();
        }
    }
    if(!q.empty())return false;
    return true;
}
int putaway(int N,int M,int T,int A[],int B[],int W[],int S[])
//void read()
{
    //cin>>n>>m>>t;
    n=N;
    m=M;
    t=T;
    for(int i=0;i<n;i++)
    {
        //cin>>a[i];
        a[i]=A[i];
    }
    sort(a,a+n);
    for(int i=0;i<m;i++)
    {
        //cin>>b[i];
        b[i]=B[i];
    }
    sort(b,b+m);
    for(int i=0;i<t;i++)
    {
        //cin>>c[i].w>>c[i].s;
        c[i].w=W[i];
        c[i].s=S[i];
    }
    sort(c,c+t,cmp);
    int l=1,r=t,mi;
    while(l<=r)
    {
        mi=(l+r)/2;
        if(check(mi))r=mi-1;
        else l=mi+1;
        while(!q.empty())q.pop();
        //cout<<l<<" "<<r<<endl;
    }
    if(l==t+1)
    {
        //cout<<-1<<endl;
        //return;
        return -1;
    }
    //cout<<l<<endl;
    return l;
}
/*int main()
{
    speed();
    read();
    return 0;
}
*/
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 10584 KB Output is correct
2 Correct 1 ms 8540 KB Output is correct
3 Correct 1 ms 8540 KB Output is correct
4 Correct 1 ms 10588 KB Output is correct
5 Correct 1 ms 8640 KB Output is correct
6 Correct 1 ms 8632 KB Output is correct
7 Correct 1 ms 8640 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 8536 KB Output is correct
2 Correct 2 ms 8536 KB Output is correct
3 Correct 1 ms 8540 KB Output is correct
4 Correct 1002 ms 25916 KB Output is correct
5 Correct 1321 ms 26688 KB Output is correct
6 Correct 25 ms 9820 KB Output is correct
7 Correct 435 ms 21564 KB Output is correct
8 Correct 649 ms 26824 KB Output is correct
9 Correct 1339 ms 25540 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 10584 KB Output is correct
2 Correct 1 ms 10708 KB Output is correct
3 Correct 2 ms 10588 KB Output is correct
4 Correct 1 ms 8540 KB Output is correct
5 Correct 1 ms 8536 KB Output is correct
6 Correct 2 ms 10584 KB Output is correct
7 Correct 1 ms 8540 KB Output is correct
8 Correct 1 ms 8540 KB Output is correct
9 Correct 1 ms 8540 KB Output is correct
10 Correct 2 ms 10588 KB Output is correct
11 Correct 2 ms 10588 KB Output is correct
12 Correct 1 ms 10688 KB Output is correct
13 Correct 2 ms 10840 KB Output is correct
14 Correct 2 ms 10588 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 10588 KB Output is correct
2 Correct 2 ms 10612 KB Output is correct
3 Correct 2 ms 10588 KB Output is correct
4 Correct 2 ms 8540 KB Output is correct
5 Correct 1 ms 8640 KB Output is correct
6 Correct 2 ms 10588 KB Output is correct
7 Correct 1 ms 8636 KB Output is correct
8 Correct 1 ms 8540 KB Output is correct
9 Correct 2 ms 8648 KB Output is correct
10 Correct 2 ms 10840 KB Output is correct
11 Correct 1 ms 10588 KB Output is correct
12 Correct 2 ms 10584 KB Output is correct
13 Correct 2 ms 10588 KB Output is correct
14 Correct 2 ms 10588 KB Output is correct
15 Correct 2 ms 10588 KB Output is correct
16 Correct 9 ms 11072 KB Output is correct
17 Correct 12 ms 10840 KB Output is correct
18 Correct 12 ms 11096 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 10588 KB Output is correct
2 Correct 1 ms 10588 KB Output is correct
3 Correct 2 ms 10588 KB Output is correct
4 Correct 1 ms 8540 KB Output is correct
5 Correct 1 ms 8540 KB Output is correct
6 Correct 2 ms 10588 KB Output is correct
7 Correct 1 ms 8540 KB Output is correct
8 Correct 1 ms 8540 KB Output is correct
9 Correct 1 ms 8540 KB Output is correct
10 Correct 1024 ms 27188 KB Output is correct
11 Correct 1414 ms 25972 KB Output is correct
12 Correct 24 ms 9928 KB Output is correct
13 Correct 398 ms 21692 KB Output is correct
14 Correct 656 ms 25828 KB Output is correct
15 Correct 2 ms 10680 KB Output is correct
16 Correct 2 ms 10588 KB Output is correct
17 Correct 2 ms 10584 KB Output is correct
18 Correct 2 ms 10588 KB Output is correct
19 Correct 1 ms 10588 KB Output is correct
20 Correct 1 ms 10696 KB Output is correct
21 Correct 10 ms 10844 KB Output is correct
22 Correct 1362 ms 26260 KB Output is correct
23 Correct 1511 ms 25736 KB Output is correct
24 Correct 697 ms 28600 KB Output is correct
25 Correct 440 ms 25420 KB Output is correct
26 Correct 915 ms 29752 KB Output is correct
27 Correct 559 ms 28580 KB Output is correct
28 Correct 612 ms 28976 KB Output is correct
29 Correct 1422 ms 28872 KB Output is correct