# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
921946 | HoriaHaivas | Detecting Molecules (IOI16_molecules) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
/*
"care a facut teste cu Lattice reduction attack e ciudat"
"linistiti va putin"
- 2023 -
*/
#include<"molecules.h">
#define debug(x) cerr << #x << " " << x << "\n"
#define debugs(x) cerr << #x << " " << x << " "
#pragma GCC optimize("Ofast")
using namespace std;
vector<int> rez;
struct sirelement
{
int val;
int poz;
};
vector<sirelement> v;
bool cmp (sirelement a, sirelement b)
{
return a.val<b.val;
}
vector<int> find_subset(int l, int u, vector<int> w) {
int i;
for (i=0;i<w.size();i++)
{
v.push_back({w[i],i});
}
sort(v.begin(),v.end(),cmp);
int pointer,s,j;
s=0;
pointer=0;
for (i=0;i<v.size();i++)
{
if (pointer<i)
pointer=i;
while (pointer<v.size() && s+v[pointer].val<=u)
{
s+=v[pointer].val;
pointer++;
}
if (s>=l && s<=u)
{
for (j=i;j<pointer;j++)
rez.push_back(v[j].poz);
return rez;
}
else
{
s-=v[i].val;
}
}
return rez;
}