답안 #297842

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
297842 2020-09-12T04:43:20 Z Muhammetali Detecting Molecules (IOI16_molecules) C++11
0 / 100
0 ms 256 KB
#include "molecules.h"
#include <bits/stdc++.h>
#define mp make_pair
#define f first
#define s second
#define sz(x) (int)(x).size()
#define rsz resize
#define ins insert
#define ft front()
#define bk back()
#define pf push_front
#define pb push_back
#define eb emplace_back
#define lb lower_bound
#define ub upper_bound
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pi;
typedef pair<ll,ll> pl;
typedef vector<int> vi;
typedef vector<bool> vb;
typedef vector<ll> vl;
typedef vector<pi> vpi;
typedef vector<pl> vpl;
vi find_subset(int l, int u, vi w)
{
	int n=sz(w);
	int jem;
	vpl par;
	for (int i=0;i<n;i++)par.pb({w[i],i});
	for (int i=0;i<n-1;i++)
	{
		for (int j=i;j<n-1;j++)
		{
			if (par[j].f>par[j+1].f)
			{
				swap(par[j],par[j+1]);
			}
		}
	}
	vi res;
	int q1=0,q2=n-1;
	while(1)
	{
		if (jem+par[q2].f>u)break;
		jem+=par[q2].f;
		res.pb(par[q2].s);
		q2--;
	}
	while(1)
	{
		if (jem+par[q1].f>u)break;
		jem+=par[q1].f;
		res.pb(par[q1].s);
		q1++;
	}
	if (jem>=l)return res;
	res.clear();
	jem=0,q1=n-1,q2=0;
	while(1)
	{
		if (jem+par[q2].f>u)break;
		jem+=par[q2].f;
		res.pb(par[q2].s);
		q2++;
	}
	while(1)
	{
		if (jem+par[q1].f>u)break;
		jem+=par[q1].f;
		res.pb(par[q1].s);
		q1--;
	}
	if (jem>=l)return res;
	res.clear();
	return res;
}

Compilation message

molecules.cpp: In function 'vi find_subset(int, int, vi)':
molecules.cpp:46:7: warning: 'jem' may be used uninitialized in this function [-Wmaybe-uninitialized]
   46 |   if (jem+par[q2].f>u)break;
      |       ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 256 KB OK (n = 1, answer = NO)
2 Correct 0 ms 256 KB OK (n = 1, answer = NO)
3 Incorrect 0 ms 256 KB Integer 2 violates the range [0, 1]
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB Contestant can not find answer, jury can
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 256 KB OK (n = 1, answer = NO)
2 Correct 0 ms 256 KB OK (n = 1, answer = NO)
3 Incorrect 0 ms 256 KB Integer 2 violates the range [0, 1]
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 256 KB OK (n = 1, answer = NO)
2 Correct 0 ms 256 KB OK (n = 1, answer = NO)
3 Incorrect 0 ms 256 KB Integer 2 violates the range [0, 1]
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 256 KB OK (n = 1, answer = NO)
2 Correct 0 ms 256 KB OK (n = 1, answer = NO)
3 Incorrect 0 ms 256 KB Integer 2 violates the range [0, 1]
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 256 KB OK (n = 1, answer = NO)
2 Correct 0 ms 256 KB OK (n = 1, answer = NO)
3 Incorrect 0 ms 256 KB Integer 2 violates the range [0, 1]
4 Halted 0 ms 0 KB -