Submission #737323

#TimeUsernameProblemLanguageResultExecution timeMemory
737323AmaarsaaDetecting Molecules (IOI16_molecules)C++14
69 / 100
1082 ms5052 KiB
//#include "molecules.h"
#include<bits/stdc++.h>
 
using namespace std;
using ll = long long;
ll a[200004];
vector<int> find_subset(int l, int u,  vector<int> w) {
	
	ll p, sum, s, j, r, i;
	vector < pair < int, int > > v;
	for ( i = 0; i < w.size(); i ++) v.push_back(make_pair(w[i], i));
	sort (v.begin(), v.end());
	s = 0;
	
	a[0] = v[0].first;
	w[0] = a[0];
	for ( i = 1; i < w.size(); i ++) {
		w[i] = v[i].first;
		a[i] = a[i - 1] + v[i].first;
	}
	vector < int > Ans;
	for (i = 0; i < w.size(); i ++) {
		
		p = upper_bound(w.begin(), w.end(), w[i] + (u - l)) - w.begin();
		p --;
		sum = a[p] - a[i] + w[i];
		while (sum > u && p > i) {
			sum -= w[p];
			p --;
		}
		if (sum >= l && sum <= u) {
			for ( j = i; j <= p; j ++) {
				Ans.push_back(v[j].second);
			}
			break;
		}
	}
	return Ans;
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:11:17: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |  for ( i = 0; i < w.size(); i ++) v.push_back(make_pair(w[i], i));
      |               ~~^~~~~~~~~~
molecules.cpp:17:17: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |  for ( i = 1; i < w.size(); i ++) {
      |               ~~^~~~~~~~~~
molecules.cpp:22:16: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |  for (i = 0; i < w.size(); i ++) {
      |              ~~^~~~~~~~~~
molecules.cpp:9:13: warning: variable 's' set but not used [-Wunused-but-set-variable]
    9 |  ll p, sum, s, j, r, i;
      |             ^
molecules.cpp:9:19: warning: unused variable 'r' [-Wunused-variable]
    9 |  ll p, sum, s, j, r, i;
      |                   ^
#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...