Submission #320972

# Submission time Handle Problem Language Result Execution time Memory
320972 2020-11-10T11:45:40 Z neki Detecting Molecules (IOI16_molecules) C++14
9 / 100
1 ms 364 KB
#include "molecules.h"
#include <bits/stdc++.h>
#define loop(i, a, b) for(long long i=a;i<b;i++)
#define pool(i, a, b) for(long long i=a-1;i>=b;i--)
#define fore(i, a) for(auto&& i:a)
#define fi first
#define se second
#define ps(a) push_back(a)
#define pb(a) pop_back(a)
#define sc scanf
#define vc vector
#define pa pair<ll, ll>
#define ll int
#define lb lower_bound
#define ub upper_bound
#define all(a) a.begin(), a.end()
#define llmax LLONG_MAX/2
#define llmin -LLONG_MAX/2
using namespace std;
#define mn 1010
#define pa pair<ll, ll>
#define ld long double 

vc<int> find_subset(int l, int u, vc<int> w){
    vc<pa> ar;
    loop(i, 0, w.size()){
        ll v=w[i];
        if(v<l)ar.ps(make_pair(v, i));
        else if(v<=u) return vc<ll> {i};
    }
    if(ar.size()==0) return vc<ll> {};
    sort(all(ar));
    ll n=ar.size();
    vc<ll> sum(n+1, 0);
    loop(i, 0, n) sum[i+1]=sum[i]+ar[i].fi;
    loop(i, 1, n+1) if(sum[i]-sum[0]<=u and l<=sum[n]-sum[n-i]){
        loop(j, 0, n-i+1) if(l<=sum[j+i]-sum[j] and sum[j+i]-sum[j]<=u){
            vc<ll> ans;
            loop(z, j+1, j+1+i) ans.ps(ar[z].se);
            sort(all(ans));
            return ans;
        }
    }
    return vc<ll> {};
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:3:42: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    3 | #define loop(i, a, b) for(long long i=a;i<b;i++)
......
   26 |     loop(i, 0, w.size()){
      |          ~~~~~~~~~~~~~~                   
molecules.cpp:26:5: note: in expansion of macro 'loop'
   26 |     loop(i, 0, w.size()){
      |     ^~~~
molecules.cpp:29:38: warning: narrowing conversion of 'i' from 'long long int' to 'int' [-Wnarrowing]
   29 |         else if(v<=u) return vc<ll> {i};
      |                                      ^
molecules.cpp:29:38: warning: narrowing conversion of 'i' from 'long long int' to 'int' [-Wnarrowing]
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB OK (n = 1, answer = NO)
2 Correct 1 ms 364 KB OK (n = 1, answer = NO)
3 Correct 1 ms 364 KB OK (n = 1, answer = YES)
4 Correct 1 ms 364 KB OK (n = 2, answer = YES)
5 Correct 0 ms 364 KB OK (n = 2, answer = YES)
6 Correct 0 ms 364 KB OK (n = 3, answer = YES)
7 Correct 0 ms 364 KB OK (n = 3, answer = YES)
8 Correct 1 ms 364 KB OK (n = 3, answer = YES)
9 Correct 1 ms 364 KB OK (n = 3, answer = YES)
10 Correct 1 ms 364 KB OK (n = 3, answer = YES)
11 Correct 1 ms 364 KB OK (n = 3, answer = YES)
12 Correct 1 ms 364 KB OK (n = 3, answer = YES)
13 Correct 1 ms 364 KB OK (n = 3, answer = NO)
14 Correct 1 ms 364 KB OK (n = 3, answer = YES)
15 Correct 1 ms 364 KB OK (n = 3, answer = YES)
16 Correct 1 ms 364 KB OK (n = 3, answer = NO)
17 Correct 1 ms 364 KB OK (n = 3, answer = NO)
18 Correct 1 ms 364 KB OK (n = 100, answer = NO)
19 Correct 1 ms 364 KB OK (n = 100, answer = YES)
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB OK (n = 12, answer = YES)
2 Correct 1 ms 364 KB OK (n = 12, answer = YES)
3 Correct 1 ms 364 KB OK (n = 12, answer = NO)
4 Correct 1 ms 364 KB OK (n = 12, answer = NO)
5 Incorrect 1 ms 364 KB sum of weights should be in [290..300] but it is 301
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB OK (n = 1, answer = NO)
2 Correct 1 ms 364 KB OK (n = 1, answer = NO)
3 Correct 1 ms 364 KB OK (n = 1, answer = YES)
4 Correct 1 ms 364 KB OK (n = 2, answer = YES)
5 Correct 0 ms 364 KB OK (n = 2, answer = YES)
6 Correct 0 ms 364 KB OK (n = 3, answer = YES)
7 Correct 0 ms 364 KB OK (n = 3, answer = YES)
8 Correct 1 ms 364 KB OK (n = 3, answer = YES)
9 Correct 1 ms 364 KB OK (n = 3, answer = YES)
10 Correct 1 ms 364 KB OK (n = 3, answer = YES)
11 Correct 1 ms 364 KB OK (n = 3, answer = YES)
12 Correct 1 ms 364 KB OK (n = 3, answer = YES)
13 Correct 1 ms 364 KB OK (n = 3, answer = NO)
14 Correct 1 ms 364 KB OK (n = 3, answer = YES)
15 Correct 1 ms 364 KB OK (n = 3, answer = YES)
16 Correct 1 ms 364 KB OK (n = 3, answer = NO)
17 Correct 1 ms 364 KB OK (n = 3, answer = NO)
18 Correct 1 ms 364 KB OK (n = 100, answer = NO)
19 Correct 1 ms 364 KB OK (n = 100, answer = YES)
20 Correct 1 ms 364 KB OK (n = 12, answer = YES)
21 Correct 1 ms 364 KB OK (n = 12, answer = YES)
22 Correct 1 ms 364 KB OK (n = 12, answer = NO)
23 Correct 1 ms 364 KB OK (n = 12, answer = NO)
24 Incorrect 1 ms 364 KB sum of weights should be in [290..300] but it is 301
25 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB OK (n = 1, answer = NO)
2 Correct 1 ms 364 KB OK (n = 1, answer = NO)
3 Correct 1 ms 364 KB OK (n = 1, answer = YES)
4 Correct 1 ms 364 KB OK (n = 2, answer = YES)
5 Correct 0 ms 364 KB OK (n = 2, answer = YES)
6 Correct 0 ms 364 KB OK (n = 3, answer = YES)
7 Correct 0 ms 364 KB OK (n = 3, answer = YES)
8 Correct 1 ms 364 KB OK (n = 3, answer = YES)
9 Correct 1 ms 364 KB OK (n = 3, answer = YES)
10 Correct 1 ms 364 KB OK (n = 3, answer = YES)
11 Correct 1 ms 364 KB OK (n = 3, answer = YES)
12 Correct 1 ms 364 KB OK (n = 3, answer = YES)
13 Correct 1 ms 364 KB OK (n = 3, answer = NO)
14 Correct 1 ms 364 KB OK (n = 3, answer = YES)
15 Correct 1 ms 364 KB OK (n = 3, answer = YES)
16 Correct 1 ms 364 KB OK (n = 3, answer = NO)
17 Correct 1 ms 364 KB OK (n = 3, answer = NO)
18 Correct 1 ms 364 KB OK (n = 100, answer = NO)
19 Correct 1 ms 364 KB OK (n = 100, answer = YES)
20 Correct 1 ms 364 KB OK (n = 12, answer = YES)
21 Correct 1 ms 364 KB OK (n = 12, answer = YES)
22 Correct 1 ms 364 KB OK (n = 12, answer = NO)
23 Correct 1 ms 364 KB OK (n = 12, answer = NO)
24 Incorrect 1 ms 364 KB sum of weights should be in [290..300] but it is 301
25 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB OK (n = 1, answer = NO)
2 Correct 1 ms 364 KB OK (n = 1, answer = NO)
3 Correct 1 ms 364 KB OK (n = 1, answer = YES)
4 Correct 1 ms 364 KB OK (n = 2, answer = YES)
5 Correct 0 ms 364 KB OK (n = 2, answer = YES)
6 Correct 0 ms 364 KB OK (n = 3, answer = YES)
7 Correct 0 ms 364 KB OK (n = 3, answer = YES)
8 Correct 1 ms 364 KB OK (n = 3, answer = YES)
9 Correct 1 ms 364 KB OK (n = 3, answer = YES)
10 Correct 1 ms 364 KB OK (n = 3, answer = YES)
11 Correct 1 ms 364 KB OK (n = 3, answer = YES)
12 Correct 1 ms 364 KB OK (n = 3, answer = YES)
13 Correct 1 ms 364 KB OK (n = 3, answer = NO)
14 Correct 1 ms 364 KB OK (n = 3, answer = YES)
15 Correct 1 ms 364 KB OK (n = 3, answer = YES)
16 Correct 1 ms 364 KB OK (n = 3, answer = NO)
17 Correct 1 ms 364 KB OK (n = 3, answer = NO)
18 Correct 1 ms 364 KB OK (n = 100, answer = NO)
19 Correct 1 ms 364 KB OK (n = 100, answer = YES)
20 Correct 1 ms 364 KB OK (n = 12, answer = YES)
21 Correct 1 ms 364 KB OK (n = 12, answer = YES)
22 Correct 1 ms 364 KB OK (n = 12, answer = NO)
23 Correct 1 ms 364 KB OK (n = 12, answer = NO)
24 Incorrect 1 ms 364 KB sum of weights should be in [290..300] but it is 301
25 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB OK (n = 1, answer = NO)
2 Correct 1 ms 364 KB OK (n = 1, answer = NO)
3 Correct 1 ms 364 KB OK (n = 1, answer = YES)
4 Correct 1 ms 364 KB OK (n = 2, answer = YES)
5 Correct 0 ms 364 KB OK (n = 2, answer = YES)
6 Correct 0 ms 364 KB OK (n = 3, answer = YES)
7 Correct 0 ms 364 KB OK (n = 3, answer = YES)
8 Correct 1 ms 364 KB OK (n = 3, answer = YES)
9 Correct 1 ms 364 KB OK (n = 3, answer = YES)
10 Correct 1 ms 364 KB OK (n = 3, answer = YES)
11 Correct 1 ms 364 KB OK (n = 3, answer = YES)
12 Correct 1 ms 364 KB OK (n = 3, answer = YES)
13 Correct 1 ms 364 KB OK (n = 3, answer = NO)
14 Correct 1 ms 364 KB OK (n = 3, answer = YES)
15 Correct 1 ms 364 KB OK (n = 3, answer = YES)
16 Correct 1 ms 364 KB OK (n = 3, answer = NO)
17 Correct 1 ms 364 KB OK (n = 3, answer = NO)
18 Correct 1 ms 364 KB OK (n = 100, answer = NO)
19 Correct 1 ms 364 KB OK (n = 100, answer = YES)
20 Correct 1 ms 364 KB OK (n = 12, answer = YES)
21 Correct 1 ms 364 KB OK (n = 12, answer = YES)
22 Correct 1 ms 364 KB OK (n = 12, answer = NO)
23 Correct 1 ms 364 KB OK (n = 12, answer = NO)
24 Incorrect 1 ms 364 KB sum of weights should be in [290..300] but it is 301
25 Halted 0 ms 0 KB -