Submission #114702

#TimeUsernameProblemLanguageResultExecution timeMemory
114702kimbj0709Detecting Molecules (IOI16_molecules)C++17
100 / 100
55 ms4176 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> find_subset(int minimum, int maximum, vector<int> w) {
  vector<pair<int,int> > vect1;
  for(int i=0;i<w.size();i++){
    vect1.push_back(make_pair(w[i],i));
  }
  vector<int> vect2;
  int pos1=0,pos2=0;
  sort(vect1.begin(),vect1.end());
  reverse(vect1.begin(),vect1.end());
  unsigned long long int count = 0;
  while(true){
     if(count>=minimum&&count<=maximum){  
        
        break;
     }
    if(pos1>pos2){

      break;
    }
    if(pos2>=vect1.size()){
      
      break;
    }
    else if(count<minimum){
      count += vect1[pos2].first;
      pos2++;
    }
    else if(count>maximum){
      count -= vect1[pos1].first;
      pos1++;
    }
    if(count>=minimum&&count<=maximum){  
        
        break;
     }

  }
  if(count>=minimum&&count<=maximum){  
        for(int i=pos1;i<pos2;i++){
          vect2.push_back(vect1[i].second);
        }
     }
  return vect2;

}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:6:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<w.size();i++){
               ~^~~~~~~~~
molecules.cpp:15:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      if(count>=minimum&&count<=maximum){  
         ~~~~~^~~~~~~~~
molecules.cpp:15:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      if(count>=minimum&&count<=maximum){  
                         ~~~~~^~~~~~~~~
molecules.cpp:23:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(pos2>=vect1.size()){
        ~~~~^~~~~~~~~~~~~~
molecules.cpp:27:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     else if(count<minimum){
             ~~~~~^~~~~~~~
molecules.cpp:31:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     else if(count>maximum){
             ~~~~~^~~~~~~~
molecules.cpp:35:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(count>=minimum&&count<=maximum){  
        ~~~~~^~~~~~~~~
molecules.cpp:35:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(count>=minimum&&count<=maximum){  
                        ~~~~~^~~~~~~~~
molecules.cpp:41:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(count>=minimum&&count<=maximum){  
      ~~~~~^~~~~~~~~
molecules.cpp:41:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(count>=minimum&&count<=maximum){  
                      ~~~~~^~~~~~~~~
#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...