Submission #715355

#TimeUsernameProblemLanguageResultExecution timeMemory
715355Ahmed57Hiring (IOI09_hiring)C++14
51 / 100
1213 ms57236 KiB
#include <bits/stdc++.h> #pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3") using namespace std; signed main(){ long long n; long double w; cin>>n>>w; vector<pair<long double,pair<long double,long long>>> v; for(int i = 0;i<n;i++){ long double s,q;cin>>s>>q; v.push_back({s/q,{q,i+1}}); } sort(v.begin(),v.end()); priority_queue<pair<long double,int>> q,p; long double sum = 0; long long ma = 0,ind; for(int i = 0;i<v.size();i++){ p.push({-v[i].second.first,v[i].second.second}); sum+=(-p.top().first); q.push({-p.top().first,p.top().second}); p.pop(); long double no =sum*v[i].first; if(no>w){ pair<long double,int>pa = q.top(); q.pop(); sum-=pa.first; p.push({-pa.first,pa.second}); } if(q.size()>=ma){ ma=q.size(); ind = i; } } while(!q.empty())q.pop(); while(!p.empty())p.pop(); sum=0; for(int i = 0;i<=ind;i++){ p.push({-v[i].second.first,v[i].second.second}); sum+=(-p.top().first); q.push({-p.top().first,p.top().second}); p.pop(); long double no =sum*v[i].first; if(no>w){ pair<long double,int>pa = q.top(); q.pop(); sum-=pa.first; p.push({-pa.first,pa.second}); } } cout<<q.size()<<endl; while(q.size()){ cout<<q.top().second<<"\n"; q.pop(); } }

Compilation message (stderr)

hiring.cpp: In function 'int main()':
hiring.cpp:19:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long double, std::pair<long double, long long int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     for(int i = 0;i<v.size();i++){
      |                   ~^~~~~~~~~
hiring.cpp:31:20: warning: comparison of integer expressions of different signedness: 'std::priority_queue<std::pair<long double, int> >::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   31 |         if(q.size()>=ma){
      |            ~~~~~~~~^~~~
hiring.cpp:18:22: warning: 'ind' may be used uninitialized in this function [-Wmaybe-uninitialized]
   18 |     long long ma = 0,ind;
      |                      ^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...