Submission #597324

#TimeUsernameProblemLanguageResultExecution timeMemory
597324Abdulmohsen1284Detecting Molecules (IOI16_molecules)C++14
0 / 100
1 ms316 KiB
#include"bits/stdc++.h"
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
template<class x>
using ordered_set = tree<x, null_type,less<x>, rb_tree_tag,tree_order_statistics_node_update>;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
void usaco(){freopen("cruise.out","w",stdout);freopen("cruise.in","r",stdin);}
long long a[2000005],c[2000005];

#include "molecules.h"

std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    vector < pair < long long ,long long > > v;
    vector <int> ans,em;
    set < int> h;
    for(int i=0;i<w.size();i++)
    {
        v.push_back({w[i],i+1});
    }
    sort(v.begin(),v.end());
    reverse(v.begin(),v.end());
    long long cur=0;
    for(int i=0;i<w.size();i++)
    {
        cur+=v[i].first;
        h.insert({v[i].second});
        if(cur>=l&&cur<=u)
        {
            for(auto j : h)
                ans.push_back(j);
            return ans;
        }
        if(cur>u)
        {
            h.erase(v[i].second);
            cur-=v[i].first;
        }
    }
    return em;
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:18:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |     for(int i=0;i<w.size();i++)
      |                 ~^~~~~~~~~
molecules.cpp:25:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |     for(int i=0;i<w.size();i++)
      |                 ~^~~~~~~~~
molecules.cpp:28:24: warning: narrowing conversion of 'v.std::vector<std::pair<long long int, long long int> >::operator[](((std::vector<std::pair<long long int, long long int> >::size_type)i)).std::pair<long long int, long long int>::second' from 'long long int' to 'int' [-Wnarrowing]
   28 |         h.insert({v[i].second});
molecules.cpp:28:24: warning: narrowing conversion of 'v.std::vector<std::pair<long long int, long long int> >::operator[](((std::vector<std::pair<long long int, long long int> >::size_type)i)).std::pair<long long int, long long int>::second' from 'long long int' to 'int' [-Wnarrowing]
molecules.cpp: In function 'void usaco()':
molecules.cpp:9:21: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 | void usaco(){freopen("cruise.out","w",stdout);freopen("cruise.in","r",stdin);}
      |              ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
molecules.cpp:9:54: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 | void usaco(){freopen("cruise.out","w",stdout);freopen("cruise.in","r",stdin);}
      |                                               ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#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...