Submission #754331

# Submission time Handle Problem Language Result Execution time Memory
754331 2023-06-07T13:54:39 Z DJeniUp Detecting Molecules (IOI16_molecules) C++17
0 / 100
1 ms 312 KB
#include "molecules.h"
#include "bits/stdc++.h"

using namespace std;

typedef long long ll;
typedef pair<ll,ll>pairll;

#define fr first
#define sc second
#define pb push_back
#define N 100007

priority_queue<pairll,vector<pairll>,greater<pairll> >q;

priority_queue<pairll>g;

struct D{
    ll a,n;
}d[2*N];

bool mcp(D d1, D d2){
    return d1.a<d2.a;
}

std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    for(int i=0;i<w.size();i++){
        d[i]={w[i],i};
    }
    sort(d,d+w.size(),mcp);
    ll r=0;
    for(int i=w.size()-1;i>0;i--){
        if(r<l){
            r+=d[i].a;
            g.push({d[i].a,d[i].n});
        }else{
            q.push({d[i].a,d[i].n});
        }
    }
    while(q.size()>0 && r>u && g.size()>0){
        r-=g.top().fr;
        g.pop();
        g.push(q.top());
        r+=q.top().fr;
        q.pop();
    }
    //cout<<r<<" "<<l<<" "<<u<<" "<<g.size()<<endl;
    if(r<l || r>u)return std::vector<int>(0);
    vector<int>res;
    while(g.size()>0){
        res.pb(int(g.top().sc));
        //cout<<g.top().sc<<endl;
        g.pop();
    }
    sort(res.begin(),res.end());
    return res;
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:27:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |     for(int i=0;i<w.size();i++){
      |                 ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB OK (n = 1, answer = NO)
2 Correct 1 ms 212 KB OK (n = 1, answer = NO)
3 Incorrect 1 ms 312 KB Contestant can not find answer, jury can
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB OK (n = 12, answer = YES)
2 Correct 1 ms 212 KB OK (n = 12, answer = YES)
3 Correct 1 ms 212 KB OK (n = 12, answer = NO)
4 Correct 1 ms 212 KB OK (n = 12, answer = NO)
5 Incorrect 1 ms 308 KB Contestant can not find answer, jury can
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB OK (n = 1, answer = NO)
2 Correct 1 ms 212 KB OK (n = 1, answer = NO)
3 Incorrect 1 ms 312 KB Contestant can not find answer, jury can
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB OK (n = 1, answer = NO)
2 Correct 1 ms 212 KB OK (n = 1, answer = NO)
3 Incorrect 1 ms 312 KB Contestant can not find answer, jury can
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB OK (n = 1, answer = NO)
2 Correct 1 ms 212 KB OK (n = 1, answer = NO)
3 Incorrect 1 ms 312 KB Contestant can not find answer, jury can
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB OK (n = 1, answer = NO)
2 Correct 1 ms 212 KB OK (n = 1, answer = NO)
3 Incorrect 1 ms 312 KB Contestant can not find answer, jury can
4 Halted 0 ms 0 KB -