답안 #240248

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
240248 2020-06-19T00:30:14 Z Amy313 Detecting Molecules (IOI16_molecules) C++14
컴파일 오류
0 ms 0 KB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
std::vector<int> find_subset(int l, int u, std::vector<int> w)
{
    vector<pair<long long int, int> >M;
    vector<long long int> A;
    long long int s = 0, n = w.size(), c;
    for(int i=0; i<w.size(); i++)
    {
        M.push_back(make_pair(w[i], i));
    }
    sort(M.begin(), M.end());
    A.clear();
    if(M[0].first>u)
	{
		return A;
	}
	int p1 = 0, p2 = 0;
	s =0;
    for(int i=0; i<n and s<l; i++)
    {
        if(s+M[p2].first>u)
		{
			s-=M[p1].first;
			s+=M[p2].first;
			p1++;
			p2++;
		}
		else
		{
			if(s>=l and s<=u)
			{
				break;
			}
			else
			{
				s+=M[p2].first;
				p2++;
			}
		}
    }
    if(s>u or s<l)
	{
		return A;
	}
	else
	{
		for(int i=p1; i<p2; i++)
		{
			A.push_back(M[i].second);
		}
		return A;
	}
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:9:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0; i<w.size(); i++)
                  ~^~~~~~~~~
molecules.cpp:17:10: error: could not convert 'A' from 'std::vector<long long int>' to 'std::vector<int>'
   return A;
          ^
molecules.cpp:45:10: error: could not convert 'A' from 'std::vector<long long int>' to 'std::vector<int>'
   return A;
          ^
molecules.cpp:53:10: error: could not convert 'A' from 'std::vector<long long int>' to 'std::vector<int>'
   return A;
          ^
molecules.cpp:8:40: warning: unused variable 'c' [-Wunused-variable]
     long long int s = 0, n = w.size(), c;
                                        ^