Submission #165433

# Submission time Handle Problem Language Result Execution time Memory
165433 2019-11-27T08:33:01 Z Segtree Detecting Molecules (IOI16_molecules) C++14
19 / 100
3 ms 424 KB
#include<iostream>
#include<algorithm>
#include<vector>
#include<unordered_map>
#include"molecules.h"
using namespace std;
typedef long long ll;
vector<int> ans;
unordered_map<int,vector<int> >mas;
void exch(){
    for(int i=0;i<ans.size();i++){
	ll x=ans[i];
	ans[i]=mas[x].back();
	mas[x].pop_back();
    }
}
vector<int> find_subset(int l,int r,vector<int> w){
    int n=w.size();
    for(int i=0;i<n;i++){
	mas[w[i]].push_back(i);
    }
    sort(w.begin(),w.end());
    ll suml=0,sumr=0,x=-1;
    for(int i=0;i<n;i++){
	suml+=w[i];
	sumr+=w[n-1-i];
	if(suml<=r&&l<=sumr){
	    x=i+1;
	    break;
	}
    }
    if(x==-1)return ans;
    for(int i=0;i<x;i++)ans.push_back(w[i]);
    if(l<=suml&&suml<=r){
	exch();
	return ans;
    }
    for(int i=x-1;i>=0;i--){
	suml-=ans[i];
	suml+=w[n-x+i];
	ans[i]=w[n-x+1];
	if(l<=suml&&suml<=r){
	    exch();
	    return ans;
	}
    }
    cout<<1/0<<endl;
    return ans;
}

Compilation message

molecules.cpp: In function 'void exch()':
molecules.cpp:11:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<ans.size();i++){
                 ~^~~~~~~~~~~
molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:47:12: warning: division by zero [-Wdiv-by-zero]
     cout<<1/0<<endl;
           ~^~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB OK (n = 1, answer = NO)
2 Correct 2 ms 256 KB OK (n = 1, answer = NO)
3 Correct 2 ms 376 KB OK (n = 1, answer = YES)
4 Correct 2 ms 376 KB OK (n = 2, answer = YES)
5 Correct 2 ms 256 KB OK (n = 2, answer = YES)
6 Correct 2 ms 256 KB OK (n = 3, answer = YES)
7 Correct 2 ms 376 KB OK (n = 3, answer = YES)
8 Correct 3 ms 376 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 360 KB OK (n = 3, answer = YES)
13 Correct 2 ms 256 KB OK (n = 3, answer = NO)
14 Correct 2 ms 276 KB OK (n = 3, answer = YES)
15 Correct 2 ms 256 KB OK (n = 3, answer = YES)
16 Correct 2 ms 380 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)
# 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 376 KB OK (n = 12, answer = NO)
4 Correct 2 ms 376 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 424 KB OK (n = 12, answer = YES)
8 Correct 2 ms 252 KB OK (n = 12, answer = YES)
9 Correct 2 ms 256 KB OK (n = 6, answer = YES)
10 Correct 2 ms 376 KB OK (n = 12, answer = YES)
11 Correct 2 ms 256 KB OK (n = 100, answer = NO)
12 Correct 2 ms 256 KB OK (n = 100, answer = YES)
13 Correct 2 ms 376 KB OK (n = 100, answer = NO)
14 Correct 2 ms 256 KB OK (n = 100, answer = YES)
15 Correct 2 ms 376 KB OK (n = 100, answer = YES)
16 Correct 2 ms 376 KB OK (n = 100, answer = YES)
17 Correct 2 ms 376 KB OK (n = 100, answer = YES)
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB OK (n = 1, answer = NO)
2 Correct 2 ms 256 KB OK (n = 1, answer = NO)
3 Correct 2 ms 376 KB OK (n = 1, answer = YES)
4 Correct 2 ms 376 KB OK (n = 2, answer = YES)
5 Correct 2 ms 256 KB OK (n = 2, answer = YES)
6 Correct 2 ms 256 KB OK (n = 3, answer = YES)
7 Correct 2 ms 376 KB OK (n = 3, answer = YES)
8 Correct 3 ms 376 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 360 KB OK (n = 3, answer = YES)
13 Correct 2 ms 256 KB OK (n = 3, answer = NO)
14 Correct 2 ms 276 KB OK (n = 3, answer = YES)
15 Correct 2 ms 256 KB OK (n = 3, answer = YES)
16 Correct 2 ms 380 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 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 376 KB OK (n = 12, answer = NO)
23 Correct 2 ms 376 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 424 KB OK (n = 12, answer = YES)
27 Correct 2 ms 252 KB OK (n = 12, answer = YES)
28 Correct 2 ms 256 KB OK (n = 6, answer = YES)
29 Correct 2 ms 376 KB OK (n = 12, answer = YES)
30 Correct 2 ms 256 KB OK (n = 100, answer = NO)
31 Correct 2 ms 256 KB OK (n = 100, answer = YES)
32 Correct 2 ms 376 KB OK (n = 100, answer = NO)
33 Correct 2 ms 256 KB OK (n = 100, answer = YES)
34 Correct 2 ms 376 KB OK (n = 100, answer = YES)
35 Correct 2 ms 376 KB OK (n = 100, answer = YES)
36 Correct 2 ms 376 KB OK (n = 100, answer = YES)
37 Correct 2 ms 376 KB OK (n = 28, answer = YES)
38 Correct 2 ms 256 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 Incorrect 2 ms 256 KB sum of weights should be in [87..94] but it is 78
42 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB OK (n = 1, answer = NO)
2 Correct 2 ms 256 KB OK (n = 1, answer = NO)
3 Correct 2 ms 376 KB OK (n = 1, answer = YES)
4 Correct 2 ms 376 KB OK (n = 2, answer = YES)
5 Correct 2 ms 256 KB OK (n = 2, answer = YES)
6 Correct 2 ms 256 KB OK (n = 3, answer = YES)
7 Correct 2 ms 376 KB OK (n = 3, answer = YES)
8 Correct 3 ms 376 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 360 KB OK (n = 3, answer = YES)
13 Correct 2 ms 256 KB OK (n = 3, answer = NO)
14 Correct 2 ms 276 KB OK (n = 3, answer = YES)
15 Correct 2 ms 256 KB OK (n = 3, answer = YES)
16 Correct 2 ms 380 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 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 376 KB OK (n = 12, answer = NO)
23 Correct 2 ms 376 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 424 KB OK (n = 12, answer = YES)
27 Correct 2 ms 252 KB OK (n = 12, answer = YES)
28 Correct 2 ms 256 KB OK (n = 6, answer = YES)
29 Correct 2 ms 376 KB OK (n = 12, answer = YES)
30 Correct 2 ms 256 KB OK (n = 100, answer = NO)
31 Correct 2 ms 256 KB OK (n = 100, answer = YES)
32 Correct 2 ms 376 KB OK (n = 100, answer = NO)
33 Correct 2 ms 256 KB OK (n = 100, answer = YES)
34 Correct 2 ms 376 KB OK (n = 100, answer = YES)
35 Correct 2 ms 376 KB OK (n = 100, answer = YES)
36 Correct 2 ms 376 KB OK (n = 100, answer = YES)
37 Correct 2 ms 376 KB OK (n = 28, answer = YES)
38 Correct 2 ms 256 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 Incorrect 2 ms 256 KB sum of weights should be in [87..94] but it is 78
42 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB OK (n = 1, answer = NO)
2 Correct 2 ms 256 KB OK (n = 1, answer = NO)
3 Correct 2 ms 376 KB OK (n = 1, answer = YES)
4 Correct 2 ms 376 KB OK (n = 2, answer = YES)
5 Correct 2 ms 256 KB OK (n = 2, answer = YES)
6 Correct 2 ms 256 KB OK (n = 3, answer = YES)
7 Correct 2 ms 376 KB OK (n = 3, answer = YES)
8 Correct 3 ms 376 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 360 KB OK (n = 3, answer = YES)
13 Correct 2 ms 256 KB OK (n = 3, answer = NO)
14 Correct 2 ms 276 KB OK (n = 3, answer = YES)
15 Correct 2 ms 256 KB OK (n = 3, answer = YES)
16 Correct 2 ms 380 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 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 376 KB OK (n = 12, answer = NO)
23 Correct 2 ms 376 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 424 KB OK (n = 12, answer = YES)
27 Correct 2 ms 252 KB OK (n = 12, answer = YES)
28 Correct 2 ms 256 KB OK (n = 6, answer = YES)
29 Correct 2 ms 376 KB OK (n = 12, answer = YES)
30 Correct 2 ms 256 KB OK (n = 100, answer = NO)
31 Correct 2 ms 256 KB OK (n = 100, answer = YES)
32 Correct 2 ms 376 KB OK (n = 100, answer = NO)
33 Correct 2 ms 256 KB OK (n = 100, answer = YES)
34 Correct 2 ms 376 KB OK (n = 100, answer = YES)
35 Correct 2 ms 376 KB OK (n = 100, answer = YES)
36 Correct 2 ms 376 KB OK (n = 100, answer = YES)
37 Correct 2 ms 376 KB OK (n = 28, answer = YES)
38 Correct 2 ms 256 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 Incorrect 2 ms 256 KB sum of weights should be in [87..94] but it is 78
42 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB OK (n = 1, answer = NO)
2 Correct 2 ms 256 KB OK (n = 1, answer = NO)
3 Correct 2 ms 376 KB OK (n = 1, answer = YES)
4 Correct 2 ms 376 KB OK (n = 2, answer = YES)
5 Correct 2 ms 256 KB OK (n = 2, answer = YES)
6 Correct 2 ms 256 KB OK (n = 3, answer = YES)
7 Correct 2 ms 376 KB OK (n = 3, answer = YES)
8 Correct 3 ms 376 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 360 KB OK (n = 3, answer = YES)
13 Correct 2 ms 256 KB OK (n = 3, answer = NO)
14 Correct 2 ms 276 KB OK (n = 3, answer = YES)
15 Correct 2 ms 256 KB OK (n = 3, answer = YES)
16 Correct 2 ms 380 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 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 376 KB OK (n = 12, answer = NO)
23 Correct 2 ms 376 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 424 KB OK (n = 12, answer = YES)
27 Correct 2 ms 252 KB OK (n = 12, answer = YES)
28 Correct 2 ms 256 KB OK (n = 6, answer = YES)
29 Correct 2 ms 376 KB OK (n = 12, answer = YES)
30 Correct 2 ms 256 KB OK (n = 100, answer = NO)
31 Correct 2 ms 256 KB OK (n = 100, answer = YES)
32 Correct 2 ms 376 KB OK (n = 100, answer = NO)
33 Correct 2 ms 256 KB OK (n = 100, answer = YES)
34 Correct 2 ms 376 KB OK (n = 100, answer = YES)
35 Correct 2 ms 376 KB OK (n = 100, answer = YES)
36 Correct 2 ms 376 KB OK (n = 100, answer = YES)
37 Correct 2 ms 376 KB OK (n = 28, answer = YES)
38 Correct 2 ms 256 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 Incorrect 2 ms 256 KB sum of weights should be in [87..94] but it is 78
42 Halted 0 ms 0 KB -