| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1326082 | SSKMF | Detecting Molecules (IOI16_molecules) | C++20 | 33 ms | 3740 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());
int64_t suma = 0;
for (int lungime = 1 , stanga = -1 , dreapta = (int)copie.size() ; lungime <= (int)copie.size() ; lungime++)
{
suma += copie[--dreapta].first;
while (suma > maxim && dreapta < (int)copie.size())
{ suma += copie[++stanga].first - copie[dreapta++].first; }
if (suma > maxim)
{ break; }
if (suma >= minim)
{
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);
}
Compilation message (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... | ||||
