# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1164090 | Dpika | Detecting Molecules (IOI16_molecules) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int a,b;
cin>>a;
cin>>b;
vector<pair<int,int>>w(n);
for (int i=0;i<n;i++){
cin>>w[i].first;
w[i].second=i;
}
sort(w.begin(),w.end());
int l=0,r=1,c=w[0].first;
vector<int>p;
if (w[0].first<=b and w[0].first>=a){
cout<<w[0].second;
}
else{
int xd=0;
p.push_back(w[0].second);
while(l<n and r<n){
if (c<a){
p.push_back(w[r].second);
c=w[r].first+c;
r++;
}
else if (c>b){
c=c-w[l].first;
xd++;
l++;
}
else{
sort(p.begin(),p.end());
for(int i=xd;i<p.size()-1;i++){
cout<<p[i]<<" ";
}
cout<<p[p.size()-1]<<"\n";
break;
}
}
}
}