Submission #138000

# Submission time Handle Problem Language Result Execution time Memory
138000 2019-07-28T20:39:45 Z beso123 Schools (IZhO13_school) C++14
5 / 100
2000 ms 15896 KB
#include <bits/stdc++.h>
#define int long long
#define pii pair<int,int>
#define x first
#define y second
using namespace std;
int n,s,m,ans,rm,rs;
set <pii> sp,ms;
main(){
cin>>n>>s>>m;
for(int k=1;k<=n;k++){
    int a,b;
    cin>>a>>b;
    if(rm==0 && rs==0){
        if(a>b){
            rs++;
        sp.insert({a,b});
        ans=a;
        }
        else{
            rm++;
            ms.insert({b,a});
            ans=b;
        }
    }
    else{
     pii a1=*sp.begin(),b1=*ms.begin();
     if(a1.x<a)
        if(b1.x>=b){
                  if(rs==s){
                sp.erase(sp.begin());
            sp.insert({a,b});
            ans-=a1.x;
            ans+=a;
                    }
                    else{
                        sp.insert({a,b});
                        ans+=a;
                        rs++;
                    }
                    continue;
        }
           if(b1.x<b)
        if(a1.x>=a){
                if(rm==m){
                ms.erase(ms.begin());
            ms.insert({b,a});
            ans-=b1.x;
            ans+=b;
            }
            else{
             ms.insert({b,a});
             rm++;
             ans+=b;
            }
            continue;
        }
            int cnt1=ans,cnt2=ans;

            if(rs==s)
            cnt1=ans-a1.x+a;
            else cnt1=ans+a;

            if(rm==m)
            cnt2=ans-b1.x+b;
            else cnt2=ans+b;

            if(cnt1<ans && cnt2<ans)
                continue;

            if(cnt1>=cnt2){
                    if(rs==s){
                sp.erase(sp.begin());
            sp.insert({a,b});
            ans-=a1.x;
            ans+=a;
                    }
                    else{
                        sp.insert({a,b});
                        ans+=a;
                        rs++;
                    }
            }
            else{
                    if(rm==m){
                ms.erase(ms.begin());
            ms.insert({b,a});
            ans-=b1.x;
            ans+=b;
            }
            else{
             ms.insert({b,a});
             rm++;
             ans+=b;
            }

            }
    }
    }
cout<<ans;
return 0;
}

Compilation message

school.cpp:9:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 504 KB Output isn't correct
2 Execution timed out 2067 ms 256 KB Time limit exceeded
3 Correct 2 ms 256 KB Output is correct
4 Incorrect 2 ms 380 KB Output isn't correct
5 Incorrect 2 ms 256 KB Output isn't correct
6 Incorrect 2 ms 376 KB Output isn't correct
7 Incorrect 7 ms 504 KB Output isn't correct
8 Incorrect 7 ms 632 KB Output isn't correct
9 Incorrect 8 ms 632 KB Output isn't correct
10 Incorrect 8 ms 604 KB Output isn't correct
11 Incorrect 8 ms 632 KB Output isn't correct
12 Incorrect 8 ms 632 KB Output isn't correct
13 Incorrect 52 ms 2808 KB Output isn't correct
14 Incorrect 115 ms 3064 KB Output isn't correct
15 Incorrect 168 ms 2456 KB Output isn't correct
16 Incorrect 300 ms 12804 KB Output isn't correct
17 Incorrect 379 ms 13816 KB Output isn't correct
18 Incorrect 398 ms 13180 KB Output isn't correct
19 Incorrect 436 ms 14448 KB Output isn't correct
20 Incorrect 521 ms 15896 KB Output isn't correct