| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 | 
|---|---|---|---|---|---|---|---|
| 74654 | kjain_1810 | Detecting Molecules (IOI16_molecules) | C++17 | 80 ms | 15088 KiB | 
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "molecules.h"
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define s second
using namespace std;
typedef long long ll;
vector< pair<ll, ll> >vec;
ll u, l;
std::vector<int> find_subset(int L, int U, std::vector<int> w) {
    for(ll a=0; a<w.size(); a++)
    	vec.pb({w[a], a});
    sort(vec.begin(), vec.end());
    ll ptrf=0, sum=0, u=U, l=L, ptrb=0;
    bool flag=false;
    while(ptrf<vec.size())
    {
    	while(ptrf<vec.size() && sum<l)
    	{
    		sum+=vec[ptrf].f;
    		ptrf++;
    	}
    	if(sum<=u && sum>=l)
    	{
    		vector<int>ret;
    		ret.clear();
    		for(int a=ptrb; a<ptrf; a++)
    			ret.pb(vec[a].s);
    		return ret;
    	}
    	while(ptrb<ptrf && sum>u)
    	{
    		sum-=vec[ptrb].f;
    		ptrb++;
    	}
    	if(sum<=u && sum>=l)
    	{
    		vector<int>ret;
    		ret.clear();
    		for(int a=ptrb; a<ptrf; a++)
    			ret.pb(vec[a].s);
    		return ret;
    	}
    }
    int x=0;
    for(int a=vec.size()-1; a>=0; a--)
    {
    	x+=vec[a].f;
    	if(sum<=u && sum>=l)
    	{
    		vector<int>ret;
    		ret.clear();
    		for(; a<vec.size(); a++)
    			ret.pb(vec[a].s);
    		return ret;
    	}
    }
    x=0;
    for(int a=0; a<vec.size(); a--)
    {
    	x+=vec[a].f;
    	if(sum<=u && sum>=l)
    	{
    		vector<int>ret;
    		ret.clear();
    		for(; a>=0; a--)
    			ret.pb(vec[a].s);
    		return ret;
    	}
    }
    vector<int>ret;
    ret.clear();
    return ret;
    // for(ll a=1; a<vec.size(); a++)
    // {
    // 	if(sum<=u && sum>=l)
    // 	{
    // 		flag=true;
    // 		ptr2=a;
    // 		break;
    // 	}
    // 	sum+=vec[a].f;
    // 	if(sum<=u && sum>=l)
    // 	{
    // 		flag=true;
    // 		ptr2=a+1;
    // 		break;
    // 	}
    // 	while(sum>u)
    // 	{
    // 		sum-=vec[ptr].f;
    // 		ptr++;
    // 	}
    // }
    // if(!flag)
    // {
    // 	vector<int>yo;
    // 	yo.clear();
    // 	return yo;
    // }
    // vector<int>yo;
    // for(ll b=ptr; b<ptr2; b++)
    // {
    // 	yo.pb(w[vec[b].s]);
    // }
    // return yo;
}
컴파일 시 표준 에러 (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... | ||||
