Submission #151317

# Submission time Handle Problem Language Result Execution time Memory
151317 2019-09-02T12:50:42 Z youssefbou62 Detecting Molecules (IOI16_molecules) C++14
19 / 100
3 ms 632 KB
//#include "molecules.h"
#include  <bits/stdc++.h>

using namespace std;

#define mp make_pair
#define fi first
#define se second
#define all(v) v.begin(),v.end()
#define allarr(a) a , a + n
#define ll long long
#define ull unsigned long long 
#define pb push_back
#define fastio ios_base::sync_with_stdio(false) ; cin.tie(NULL); cout.tie(NULL)
typedef pair<int, int> pi;
typedef pair<ll,ll> pll; 
typedef pair<int,pi> trp ;
typedef vector<pi> vpi;
typedef vector<pll> vpll ;
// int ab  (int  x ) { return (x>0?x:-x); }

ll sum(int l , int r ,vector<ll>& p){
	if( l== 0) return p[r] ; 
	return p[r]-p[l-1] ;
}

bool in(ll x , ll l , ll r){
	return ( x >= l && x <= r ) ;
}
vector<int> find_subset(int l, int u, vector<int> w) {
    vector<int> result ; 
    int n = w.size() ; 
    vector<ll>pref(n); 
    pref[0]=w[0] ;
    // sort(all(w));
    vpi cost; 
    for(int i =0 ; i < n ; i++ )cost.pb({w[i],i}); 
    sort(all(cost)); 
    for(int i = 1 ; i < n ; i++ )pref[i] += pref[i-1] + 1LL*cost[i].fi ;
    for(int i = 0 ; i < n ; i++ ){
    	int L = i , r = n-1 ; 
    	while ( L <= r){
    		int mid=(L+r)/2 ; 
    		if( in(sum (i,mid,pref),l,u) ){
    			// cout << sum(i,mid,pref)<<endl;
    			for(int j = i ; j <= mid ; j++ )result.pb(cost[j].se) ; 
    			sort(all(result));
    			return result ; 
    		}
    		if( sum(i,mid,pref) < l )L = mid+1; 
    		if( sum(i,mid,pref)>u)r = mid-1 ;
    	}
    }
    return result; 
}
// int main(){
// 	vector<int> v = find_subset(15, 17, {6, 8, 8, 7});
// 	for(int i : v )cout << i << " " ; cout << endl; 
// 	v= find_subset(14, 15, {5, 5, 6, 6});  
// 	for(int i : v )cout << i << " " ; cout << endl; 
// 		v = find_subset(10, 20, {15, 17, 16, 18}); 
// 	for(int i : v )cout << i << " "; 
// }
# Verdict Execution time Memory Grader output
1 Correct 2 ms 632 KB OK (n = 1, answer = NO)
2 Correct 2 ms 252 KB OK (n = 1, answer = NO)
3 Correct 2 ms 376 KB OK (n = 1, answer = YES)
4 Correct 2 ms 256 KB OK (n = 2, answer = YES)
5 Correct 2 ms 348 KB OK (n = 2, answer = YES)
6 Correct 2 ms 376 KB OK (n = 3, answer = YES)
7 Correct 2 ms 252 KB OK (n = 3, answer = YES)
8 Correct 2 ms 256 KB OK (n = 3, answer = YES)
9 Correct 2 ms 376 KB OK (n = 3, answer = YES)
10 Correct 2 ms 256 KB OK (n = 3, answer = YES)
11 Correct 2 ms 256 KB OK (n = 3, answer = YES)
12 Correct 2 ms 376 KB OK (n = 3, answer = YES)
13 Correct 2 ms 256 KB OK (n = 3, answer = NO)
14 Correct 0 ms 396 KB OK (n = 3, answer = YES)
15 Correct 2 ms 256 KB OK (n = 3, answer = YES)
16 Correct 2 ms 256 KB OK (n = 3, answer = NO)
17 Correct 2 ms 376 KB OK (n = 3, answer = NO)
18 Correct 2 ms 376 KB OK (n = 100, answer = NO)
19 Correct 2 ms 256 KB OK (n = 100, answer = YES)
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB OK (n = 12, answer = YES)
2 Correct 2 ms 256 KB OK (n = 12, answer = YES)
3 Correct 2 ms 256 KB OK (n = 12, answer = NO)
4 Correct 2 ms 252 KB OK (n = 12, answer = NO)
5 Correct 2 ms 256 KB OK (n = 12, answer = YES)
6 Correct 2 ms 376 KB OK (n = 12, answer = YES)
7 Correct 2 ms 256 KB OK (n = 12, answer = YES)
8 Correct 2 ms 376 KB OK (n = 12, answer = YES)
9 Correct 2 ms 352 KB OK (n = 6, answer = YES)
10 Correct 2 ms 376 KB OK (n = 12, answer = YES)
11 Correct 2 ms 352 KB OK (n = 100, answer = NO)
12 Correct 1 ms 376 KB OK (n = 100, answer = YES)
13 Correct 2 ms 376 KB OK (n = 100, answer = NO)
14 Correct 2 ms 376 KB OK (n = 100, answer = YES)
15 Correct 2 ms 256 KB OK (n = 100, answer = YES)
16 Correct 2 ms 376 KB OK (n = 100, answer = YES)
17 Correct 2 ms 256 KB OK (n = 100, answer = YES)
# Verdict Execution time Memory Grader output
1 Correct 2 ms 632 KB OK (n = 1, answer = NO)
2 Correct 2 ms 252 KB OK (n = 1, answer = NO)
3 Correct 2 ms 376 KB OK (n = 1, answer = YES)
4 Correct 2 ms 256 KB OK (n = 2, answer = YES)
5 Correct 2 ms 348 KB OK (n = 2, answer = YES)
6 Correct 2 ms 376 KB OK (n = 3, answer = YES)
7 Correct 2 ms 252 KB OK (n = 3, answer = YES)
8 Correct 2 ms 256 KB OK (n = 3, answer = YES)
9 Correct 2 ms 376 KB OK (n = 3, answer = YES)
10 Correct 2 ms 256 KB OK (n = 3, answer = YES)
11 Correct 2 ms 256 KB OK (n = 3, answer = YES)
12 Correct 2 ms 376 KB OK (n = 3, answer = YES)
13 Correct 2 ms 256 KB OK (n = 3, answer = NO)
14 Correct 0 ms 396 KB OK (n = 3, answer = YES)
15 Correct 2 ms 256 KB OK (n = 3, answer = YES)
16 Correct 2 ms 256 KB OK (n = 3, answer = NO)
17 Correct 2 ms 376 KB OK (n = 3, answer = NO)
18 Correct 2 ms 376 KB OK (n = 100, answer = NO)
19 Correct 2 ms 256 KB OK (n = 100, answer = YES)
20 Correct 2 ms 376 KB OK (n = 12, answer = YES)
21 Correct 2 ms 256 KB OK (n = 12, answer = YES)
22 Correct 2 ms 256 KB OK (n = 12, answer = NO)
23 Correct 2 ms 252 KB OK (n = 12, answer = NO)
24 Correct 2 ms 256 KB OK (n = 12, answer = YES)
25 Correct 2 ms 376 KB OK (n = 12, answer = YES)
26 Correct 2 ms 256 KB OK (n = 12, answer = YES)
27 Correct 2 ms 376 KB OK (n = 12, answer = YES)
28 Correct 2 ms 352 KB OK (n = 6, answer = YES)
29 Correct 2 ms 376 KB OK (n = 12, answer = YES)
30 Correct 2 ms 352 KB OK (n = 100, answer = NO)
31 Correct 1 ms 376 KB OK (n = 100, answer = YES)
32 Correct 2 ms 376 KB OK (n = 100, answer = NO)
33 Correct 2 ms 376 KB OK (n = 100, answer = YES)
34 Correct 2 ms 256 KB OK (n = 100, answer = YES)
35 Correct 2 ms 376 KB OK (n = 100, answer = YES)
36 Correct 2 ms 256 KB OK (n = 100, answer = YES)
37 Correct 2 ms 376 KB OK (n = 28, answer = YES)
38 Correct 2 ms 376 KB OK (n = 27, answer = YES)
39 Correct 2 ms 376 KB OK (n = 90, answer = YES)
40 Correct 2 ms 376 KB OK (n = 100, answer = YES)
41 Correct 2 ms 256 KB OK (n = 100, answer = YES)
42 Correct 3 ms 376 KB OK (n = 10, answer = YES)
43 Correct 2 ms 400 KB OK (n = 100, answer = YES)
44 Correct 2 ms 256 KB OK (n = 100, answer = YES)
45 Correct 2 ms 296 KB OK (n = 100, answer = YES)
46 Correct 2 ms 256 KB OK (n = 100, answer = YES)
47 Correct 2 ms 256 KB OK (n = 100, answer = NO)
48 Correct 2 ms 256 KB OK (n = 100, answer = NO)
49 Correct 2 ms 256 KB OK (n = 100, answer = NO)
50 Correct 2 ms 256 KB OK (n = 100, answer = YES)
51 Incorrect 2 ms 256 KB sum of weights should be in [990..1000] but it is 986
52 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 632 KB OK (n = 1, answer = NO)
2 Correct 2 ms 252 KB OK (n = 1, answer = NO)
3 Correct 2 ms 376 KB OK (n = 1, answer = YES)
4 Correct 2 ms 256 KB OK (n = 2, answer = YES)
5 Correct 2 ms 348 KB OK (n = 2, answer = YES)
6 Correct 2 ms 376 KB OK (n = 3, answer = YES)
7 Correct 2 ms 252 KB OK (n = 3, answer = YES)
8 Correct 2 ms 256 KB OK (n = 3, answer = YES)
9 Correct 2 ms 376 KB OK (n = 3, answer = YES)
10 Correct 2 ms 256 KB OK (n = 3, answer = YES)
11 Correct 2 ms 256 KB OK (n = 3, answer = YES)
12 Correct 2 ms 376 KB OK (n = 3, answer = YES)
13 Correct 2 ms 256 KB OK (n = 3, answer = NO)
14 Correct 0 ms 396 KB OK (n = 3, answer = YES)
15 Correct 2 ms 256 KB OK (n = 3, answer = YES)
16 Correct 2 ms 256 KB OK (n = 3, answer = NO)
17 Correct 2 ms 376 KB OK (n = 3, answer = NO)
18 Correct 2 ms 376 KB OK (n = 100, answer = NO)
19 Correct 2 ms 256 KB OK (n = 100, answer = YES)
20 Correct 2 ms 376 KB OK (n = 12, answer = YES)
21 Correct 2 ms 256 KB OK (n = 12, answer = YES)
22 Correct 2 ms 256 KB OK (n = 12, answer = NO)
23 Correct 2 ms 252 KB OK (n = 12, answer = NO)
24 Correct 2 ms 256 KB OK (n = 12, answer = YES)
25 Correct 2 ms 376 KB OK (n = 12, answer = YES)
26 Correct 2 ms 256 KB OK (n = 12, answer = YES)
27 Correct 2 ms 376 KB OK (n = 12, answer = YES)
28 Correct 2 ms 352 KB OK (n = 6, answer = YES)
29 Correct 2 ms 376 KB OK (n = 12, answer = YES)
30 Correct 2 ms 352 KB OK (n = 100, answer = NO)
31 Correct 1 ms 376 KB OK (n = 100, answer = YES)
32 Correct 2 ms 376 KB OK (n = 100, answer = NO)
33 Correct 2 ms 376 KB OK (n = 100, answer = YES)
34 Correct 2 ms 256 KB OK (n = 100, answer = YES)
35 Correct 2 ms 376 KB OK (n = 100, answer = YES)
36 Correct 2 ms 256 KB OK (n = 100, answer = YES)
37 Correct 2 ms 376 KB OK (n = 28, answer = YES)
38 Correct 2 ms 376 KB OK (n = 27, answer = YES)
39 Correct 2 ms 376 KB OK (n = 90, answer = YES)
40 Correct 2 ms 376 KB OK (n = 100, answer = YES)
41 Correct 2 ms 256 KB OK (n = 100, answer = YES)
42 Correct 3 ms 376 KB OK (n = 10, answer = YES)
43 Correct 2 ms 400 KB OK (n = 100, answer = YES)
44 Correct 2 ms 256 KB OK (n = 100, answer = YES)
45 Correct 2 ms 296 KB OK (n = 100, answer = YES)
46 Correct 2 ms 256 KB OK (n = 100, answer = YES)
47 Correct 2 ms 256 KB OK (n = 100, answer = NO)
48 Correct 2 ms 256 KB OK (n = 100, answer = NO)
49 Correct 2 ms 256 KB OK (n = 100, answer = NO)
50 Correct 2 ms 256 KB OK (n = 100, answer = YES)
51 Incorrect 2 ms 256 KB sum of weights should be in [990..1000] but it is 986
52 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 632 KB OK (n = 1, answer = NO)
2 Correct 2 ms 252 KB OK (n = 1, answer = NO)
3 Correct 2 ms 376 KB OK (n = 1, answer = YES)
4 Correct 2 ms 256 KB OK (n = 2, answer = YES)
5 Correct 2 ms 348 KB OK (n = 2, answer = YES)
6 Correct 2 ms 376 KB OK (n = 3, answer = YES)
7 Correct 2 ms 252 KB OK (n = 3, answer = YES)
8 Correct 2 ms 256 KB OK (n = 3, answer = YES)
9 Correct 2 ms 376 KB OK (n = 3, answer = YES)
10 Correct 2 ms 256 KB OK (n = 3, answer = YES)
11 Correct 2 ms 256 KB OK (n = 3, answer = YES)
12 Correct 2 ms 376 KB OK (n = 3, answer = YES)
13 Correct 2 ms 256 KB OK (n = 3, answer = NO)
14 Correct 0 ms 396 KB OK (n = 3, answer = YES)
15 Correct 2 ms 256 KB OK (n = 3, answer = YES)
16 Correct 2 ms 256 KB OK (n = 3, answer = NO)
17 Correct 2 ms 376 KB OK (n = 3, answer = NO)
18 Correct 2 ms 376 KB OK (n = 100, answer = NO)
19 Correct 2 ms 256 KB OK (n = 100, answer = YES)
20 Correct 2 ms 376 KB OK (n = 12, answer = YES)
21 Correct 2 ms 256 KB OK (n = 12, answer = YES)
22 Correct 2 ms 256 KB OK (n = 12, answer = NO)
23 Correct 2 ms 252 KB OK (n = 12, answer = NO)
24 Correct 2 ms 256 KB OK (n = 12, answer = YES)
25 Correct 2 ms 376 KB OK (n = 12, answer = YES)
26 Correct 2 ms 256 KB OK (n = 12, answer = YES)
27 Correct 2 ms 376 KB OK (n = 12, answer = YES)
28 Correct 2 ms 352 KB OK (n = 6, answer = YES)
29 Correct 2 ms 376 KB OK (n = 12, answer = YES)
30 Correct 2 ms 352 KB OK (n = 100, answer = NO)
31 Correct 1 ms 376 KB OK (n = 100, answer = YES)
32 Correct 2 ms 376 KB OK (n = 100, answer = NO)
33 Correct 2 ms 376 KB OK (n = 100, answer = YES)
34 Correct 2 ms 256 KB OK (n = 100, answer = YES)
35 Correct 2 ms 376 KB OK (n = 100, answer = YES)
36 Correct 2 ms 256 KB OK (n = 100, answer = YES)
37 Correct 2 ms 376 KB OK (n = 28, answer = YES)
38 Correct 2 ms 376 KB OK (n = 27, answer = YES)
39 Correct 2 ms 376 KB OK (n = 90, answer = YES)
40 Correct 2 ms 376 KB OK (n = 100, answer = YES)
41 Correct 2 ms 256 KB OK (n = 100, answer = YES)
42 Correct 3 ms 376 KB OK (n = 10, answer = YES)
43 Correct 2 ms 400 KB OK (n = 100, answer = YES)
44 Correct 2 ms 256 KB OK (n = 100, answer = YES)
45 Correct 2 ms 296 KB OK (n = 100, answer = YES)
46 Correct 2 ms 256 KB OK (n = 100, answer = YES)
47 Correct 2 ms 256 KB OK (n = 100, answer = NO)
48 Correct 2 ms 256 KB OK (n = 100, answer = NO)
49 Correct 2 ms 256 KB OK (n = 100, answer = NO)
50 Correct 2 ms 256 KB OK (n = 100, answer = YES)
51 Incorrect 2 ms 256 KB sum of weights should be in [990..1000] but it is 986
52 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 632 KB OK (n = 1, answer = NO)
2 Correct 2 ms 252 KB OK (n = 1, answer = NO)
3 Correct 2 ms 376 KB OK (n = 1, answer = YES)
4 Correct 2 ms 256 KB OK (n = 2, answer = YES)
5 Correct 2 ms 348 KB OK (n = 2, answer = YES)
6 Correct 2 ms 376 KB OK (n = 3, answer = YES)
7 Correct 2 ms 252 KB OK (n = 3, answer = YES)
8 Correct 2 ms 256 KB OK (n = 3, answer = YES)
9 Correct 2 ms 376 KB OK (n = 3, answer = YES)
10 Correct 2 ms 256 KB OK (n = 3, answer = YES)
11 Correct 2 ms 256 KB OK (n = 3, answer = YES)
12 Correct 2 ms 376 KB OK (n = 3, answer = YES)
13 Correct 2 ms 256 KB OK (n = 3, answer = NO)
14 Correct 0 ms 396 KB OK (n = 3, answer = YES)
15 Correct 2 ms 256 KB OK (n = 3, answer = YES)
16 Correct 2 ms 256 KB OK (n = 3, answer = NO)
17 Correct 2 ms 376 KB OK (n = 3, answer = NO)
18 Correct 2 ms 376 KB OK (n = 100, answer = NO)
19 Correct 2 ms 256 KB OK (n = 100, answer = YES)
20 Correct 2 ms 376 KB OK (n = 12, answer = YES)
21 Correct 2 ms 256 KB OK (n = 12, answer = YES)
22 Correct 2 ms 256 KB OK (n = 12, answer = NO)
23 Correct 2 ms 252 KB OK (n = 12, answer = NO)
24 Correct 2 ms 256 KB OK (n = 12, answer = YES)
25 Correct 2 ms 376 KB OK (n = 12, answer = YES)
26 Correct 2 ms 256 KB OK (n = 12, answer = YES)
27 Correct 2 ms 376 KB OK (n = 12, answer = YES)
28 Correct 2 ms 352 KB OK (n = 6, answer = YES)
29 Correct 2 ms 376 KB OK (n = 12, answer = YES)
30 Correct 2 ms 352 KB OK (n = 100, answer = NO)
31 Correct 1 ms 376 KB OK (n = 100, answer = YES)
32 Correct 2 ms 376 KB OK (n = 100, answer = NO)
33 Correct 2 ms 376 KB OK (n = 100, answer = YES)
34 Correct 2 ms 256 KB OK (n = 100, answer = YES)
35 Correct 2 ms 376 KB OK (n = 100, answer = YES)
36 Correct 2 ms 256 KB OK (n = 100, answer = YES)
37 Correct 2 ms 376 KB OK (n = 28, answer = YES)
38 Correct 2 ms 376 KB OK (n = 27, answer = YES)
39 Correct 2 ms 376 KB OK (n = 90, answer = YES)
40 Correct 2 ms 376 KB OK (n = 100, answer = YES)
41 Correct 2 ms 256 KB OK (n = 100, answer = YES)
42 Correct 3 ms 376 KB OK (n = 10, answer = YES)
43 Correct 2 ms 400 KB OK (n = 100, answer = YES)
44 Correct 2 ms 256 KB OK (n = 100, answer = YES)
45 Correct 2 ms 296 KB OK (n = 100, answer = YES)
46 Correct 2 ms 256 KB OK (n = 100, answer = YES)
47 Correct 2 ms 256 KB OK (n = 100, answer = NO)
48 Correct 2 ms 256 KB OK (n = 100, answer = NO)
49 Correct 2 ms 256 KB OK (n = 100, answer = NO)
50 Correct 2 ms 256 KB OK (n = 100, answer = YES)
51 Incorrect 2 ms 256 KB sum of weights should be in [990..1000] but it is 986
52 Halted 0 ms 0 KB -