Submission #40145

# Submission time Handle Problem Language Result Execution time Memory
40145 2018-01-28T07:32:22 Z tmwilliamlin168 Detecting Molecules (IOI16_molecules) C++11
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;
 
typedef long long ll;
 
vector<int> find_subset( int L, int U, vector<int> W){
  vector< int > ord( W.size() ), result;
  for( int i = 0; i < W.size(); ++i ){
    ord[ i ] = i;
  }
  sort( ord.begin(), ord.end(), [ & ]( int i, int j ){ return W[ i ] < W[ j ]; } );
  ll sum = 0;
  for( int lb = 0, rb = 0; lb < N; ++lb ){
    while( sum < L and rb < W.size() )
      sum += W[ ord[ rb++ ] ];
    if( L <= sum and sum <= U ){
      for( int i = lb; i < rb; ++i )
        result.push_back(ord[ i ]);
      break;
    }
    if( lb < rb ) sum -= W[ ord[ lb ] ];
  }
  return result;
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:9:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for( int i = 0; i < W.size(); ++i ){
                     ^
molecules.cpp:14:33: error: 'N' was not declared in this scope
   for( int lb = 0, rb = 0; lb < N; ++lb ){
                                 ^
molecules.cpp:15:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while( sum < L and rb < W.size() )
                           ^