Submission #198375

#TimeUsernameProblemLanguageResultExecution timeMemory
198375Ruxandra985Detecting Molecules (IOI16_molecules)C++14
100 / 100
60 ms5700 KiB
#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;
 
vector <int> sol;
pair <int,int> x[200010];
vector <int> find_subset (int l , int u , vector <int> v){
    int i , j , k;
  	long long sum;
    for (i=0;i<v.size();i++){
        x[i] = make_pair(v[i] , i);
        if (l <= x[i].first && x[i].first <= u){
            sol.push_back(i);
            return sol;
        }
    }
    sort (x , x + v.size());
 
 
    sum = 0;
    j = -1;
    for (i=0 ; i < v.size() ; i++){
        sum -= x[i-1].first;
        if (j < i){
            j = i;
            sum = x[i].first;
        }
        while (j+1 < v.size()){
            sum += x[j+1].first;
            if (sum > u){
                sum -= x[j+1].first;
                break;
            }
            if (l <= sum && sum <= u){
 
                for (k = i ; k <= j + 1 ; k++){
                    sol.push_back(x[k].second);
                }
 
                return sol;
            }
            j++;
        }
 
    }
 
    sol.clear();
 
    return sol; /// nu se poate;
 
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:10:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0;i<v.size();i++){
              ~^~~~~~~~~
molecules.cpp:22:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0 ; i < v.size() ; i++){
                ~~^~~~~~~~~~
molecules.cpp:28:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         while (j+1 < v.size()){
                ~~~~^~~~~~~~~~
#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...