| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1326053 | SSKMF | Detecting Molecules (IOI16_molecules) | C++20 | 1 ms | 332 KiB |
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
vector <int> find_subset (int minim , int maxim , vector <int> sir)
{
vector < pair <int , int> > copie(sir.size());
for (int indice = 0 ; indice < (int)sir.size() ; indice++)
{ copie[indice] = {sir[indice] , indice}; }
sort(copie.begin() , copie.end());
int dreapta = (int)copie.size() , suma = 0;
while (dreapta && suma + copie[dreapta - 1].first <= maxim)
{ suma += copie[--dreapta].first; }
if (suma >= minim)
{
vector <int> rezultat;
for (int indice = dreapta ; indice < (int)copie.size() ; indice++)
{ rezultat.push_back(copie[indice].second); }
return rezultat;
}
for (int stanga = 0 ; stanga < (int)copie.size() ; stanga++)
{
suma += sir[stanga];
if (stanga == dreapta)
{ suma -= sir[dreapta++]; }
while (dreapta < (int)copie.size() && suma > maxim)
{ suma -= copie[dreapta++].first; }
if (minim <= suma && suma <= maxim)
{
vector <int> rezultat;
for (int indice = 0 ; indice <= stanga ; indice++)
{ rezultat.push_back(copie[indice].second); }
for (int indice = dreapta ; indice < (int)copie.size() ; indice++)
{ rezultat.push_back(copie[indice].second); }
return rezultat;
}
}
return vector <int> (0);
}
컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
