#include "molecules.h"
#include <bits/stdc++.h>
#define debug printf
#define lp(i,a,b) for(int i = a ; i < b ; i++ )
#define ff first
#define ss second
#define pb push_back
#define mk make_pair
#define ll long long
#define sz size()
#define pii pair<int,int>
#define all(x) x.begin(),x.end()
#define tiii tuple<int,int,int>
#define mkt make_tuple
const int MAXN = 2e5+10 ;
using namespace std ;
ll pref[MAXN] , suf[MAXN] ;
vector<pii> id ;
vector<int> find_subset(int l, int r, vector<int> w)
{
int tam = 1 ;
bool ok = false ;
vector<int> res ;
lp(i,0,(int)(w.sz))
if( w[i] <= r) id.pb( mk(w[i],i) ) ;
sort(all(id)) ;
lp(i,0,(int)(id.sz))
pref[i] = ( i == 0 ? 0LL : pref[i-1] ) + id[i].ff ;
for(int i = (int)(id).sz - 1 ; i >= 0 ; i-- ) suf[i] = suf[i+1] + id[i].ff ;
if( suf[0] < 1LL * l ) return vector<int>(0) ;
for(; tam <= (int)(id.sz) ; tam ++ )
if( suf[ (int)(id.sz)-tam ] > 1LL * r )
break ;
tam -- ;
if( suf[ (int)(id.sz)-tam ] >= 1LL * l )
{
lp(i,(int)(id.sz)-tam, (int)(id.sz) ) res.pb( id[i].ss ) ;
return res ;
}
if( pref[tam] > 1LL * r )
return res ;
ll tot = suf[ (int)(id.sz)-tam ] ;
int curId = (int)(id.sz)-tam ;
for(int k = 0 ; k < tam ; k++ )
{
tot -= id[curId].ff ;
curId ++ ;
tot += id[k].ff ;
res.pb( id[k].ss ) ;
if( tot >= 1LL*l && tot <= 1LL*r ) break ;
}
lp(i,curId, (int)(id.sz) ) res.pb( id[i].ss ) ;
return res ;
}
Compilation message
molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:28:7: warning: unused variable 'ok' [-Wunused-variable]
bool ok = false ;
^~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
256 KB |
OK (n = 1, answer = NO) |
2 |
Correct |
2 ms |
376 KB |
OK (n = 1, answer = NO) |
3 |
Correct |
2 ms |
256 KB |
OK (n = 1, answer = YES) |
4 |
Correct |
2 ms |
376 KB |
OK (n = 2, answer = YES) |
5 |
Correct |
2 ms |
376 KB |
OK (n = 2, answer = YES) |
6 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
7 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
8 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
9 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
10 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = YES) |
11 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = YES) |
12 |
Correct |
2 ms |
380 KB |
OK (n = 3, answer = YES) |
13 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = NO) |
14 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
15 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
16 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = NO) |
17 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = NO) |
18 |
Correct |
2 ms |
376 KB |
OK (n = 100, answer = NO) |
19 |
Correct |
2 ms |
376 KB |
OK (n = 100, answer = YES) |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
sum of weights should be in [302..304] but it is 250 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
256 KB |
OK (n = 1, answer = NO) |
2 |
Correct |
2 ms |
376 KB |
OK (n = 1, answer = NO) |
3 |
Correct |
2 ms |
256 KB |
OK (n = 1, answer = YES) |
4 |
Correct |
2 ms |
376 KB |
OK (n = 2, answer = YES) |
5 |
Correct |
2 ms |
376 KB |
OK (n = 2, answer = YES) |
6 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
7 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
8 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
9 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
10 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = YES) |
11 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = YES) |
12 |
Correct |
2 ms |
380 KB |
OK (n = 3, answer = YES) |
13 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = NO) |
14 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
15 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
16 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = NO) |
17 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = NO) |
18 |
Correct |
2 ms |
376 KB |
OK (n = 100, answer = NO) |
19 |
Correct |
2 ms |
376 KB |
OK (n = 100, answer = YES) |
20 |
Incorrect |
2 ms |
376 KB |
sum of weights should be in [302..304] but it is 250 |
21 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
256 KB |
OK (n = 1, answer = NO) |
2 |
Correct |
2 ms |
376 KB |
OK (n = 1, answer = NO) |
3 |
Correct |
2 ms |
256 KB |
OK (n = 1, answer = YES) |
4 |
Correct |
2 ms |
376 KB |
OK (n = 2, answer = YES) |
5 |
Correct |
2 ms |
376 KB |
OK (n = 2, answer = YES) |
6 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
7 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
8 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
9 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
10 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = YES) |
11 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = YES) |
12 |
Correct |
2 ms |
380 KB |
OK (n = 3, answer = YES) |
13 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = NO) |
14 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
15 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
16 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = NO) |
17 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = NO) |
18 |
Correct |
2 ms |
376 KB |
OK (n = 100, answer = NO) |
19 |
Correct |
2 ms |
376 KB |
OK (n = 100, answer = YES) |
20 |
Incorrect |
2 ms |
376 KB |
sum of weights should be in [302..304] but it is 250 |
21 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
256 KB |
OK (n = 1, answer = NO) |
2 |
Correct |
2 ms |
376 KB |
OK (n = 1, answer = NO) |
3 |
Correct |
2 ms |
256 KB |
OK (n = 1, answer = YES) |
4 |
Correct |
2 ms |
376 KB |
OK (n = 2, answer = YES) |
5 |
Correct |
2 ms |
376 KB |
OK (n = 2, answer = YES) |
6 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
7 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
8 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
9 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
10 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = YES) |
11 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = YES) |
12 |
Correct |
2 ms |
380 KB |
OK (n = 3, answer = YES) |
13 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = NO) |
14 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
15 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
16 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = NO) |
17 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = NO) |
18 |
Correct |
2 ms |
376 KB |
OK (n = 100, answer = NO) |
19 |
Correct |
2 ms |
376 KB |
OK (n = 100, answer = YES) |
20 |
Incorrect |
2 ms |
376 KB |
sum of weights should be in [302..304] but it is 250 |
21 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
256 KB |
OK (n = 1, answer = NO) |
2 |
Correct |
2 ms |
376 KB |
OK (n = 1, answer = NO) |
3 |
Correct |
2 ms |
256 KB |
OK (n = 1, answer = YES) |
4 |
Correct |
2 ms |
376 KB |
OK (n = 2, answer = YES) |
5 |
Correct |
2 ms |
376 KB |
OK (n = 2, answer = YES) |
6 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
7 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
8 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
9 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
10 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = YES) |
11 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = YES) |
12 |
Correct |
2 ms |
380 KB |
OK (n = 3, answer = YES) |
13 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = NO) |
14 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
15 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = YES) |
16 |
Correct |
2 ms |
376 KB |
OK (n = 3, answer = NO) |
17 |
Correct |
2 ms |
256 KB |
OK (n = 3, answer = NO) |
18 |
Correct |
2 ms |
376 KB |
OK (n = 100, answer = NO) |
19 |
Correct |
2 ms |
376 KB |
OK (n = 100, answer = YES) |
20 |
Incorrect |
2 ms |
376 KB |
sum of weights should be in [302..304] but it is 250 |
21 |
Halted |
0 ms |
0 KB |
- |