제출 #290721

#제출 시각아이디문제언어결과실행 시간메모리
290721aymanrsDetecting Molecules (IOI16_molecules)C++14
69 / 100
1083 ms4600 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> find_subset(int l, int u, vector<int> w){
	vector<pair<int, int>> c(w.size());
	for(int i = 0;i < w.size();i++) c[i] = {w[i], i};
	sort(c.begin(), c.end());
	long long pre[w.size()];
	pre[0] = c[0].first;
	for(int i = 1;i < c.size();i++) pre[i] = pre[i-1] + c[i].first;
	for(int window = 0;window < c.size();window++){
		for(int i = 0;i+window < c.size();i++){
			if(i > 0){
				if(pre[i + window] - pre[i-1] >= l && pre[i + window] - pre[i-1] <= u){
					vector<int> ans(window+1);
					for(int j = i;j <= i+window;j++) ans[j-i] = c[j].second;
					return ans;
				}
			}
			if(i == 0){
				if(pre[i + window] >= l && pre[i + window]<= u){
					vector<int> ans(window+1);
					for(int j = i;j <= i+window;j++) ans[j-i] = c[j].second;
					return ans;
				}
			}
		}
	}
	return {};
}

컴파일 시 표준 에러 (stderr) 메시지

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:5:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 |  for(int i = 0;i < w.size();i++) c[i] = {w[i], i};
      |                ~~^~~~~~~~~~
molecules.cpp:9:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    9 |  for(int i = 1;i < c.size();i++) pre[i] = pre[i-1] + c[i].first;
      |                ~~^~~~~~~~~~
molecules.cpp:10:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |  for(int window = 0;window < c.size();window++){
      |                     ~~~~~~~^~~~~~~~~~
molecules.cpp:11:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |   for(int i = 0;i+window < c.size();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...