Submission #332980

# Submission time Handle Problem Language Result Execution time Memory
332980 2020-12-04T06:34:32 Z Yomapeed Detecting Molecules (IOI16_molecules) C++17
9 / 100
1 ms 364 KB
#include<bits/stdc++.h>
#include "molecules.h"
#define pi 3.141592653589793238
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
#define MOD 1000000007
#define INF 999999999999999999 
#define pb push_back
#define ff first
#define ss second
#define mp make_pair
#define mt make_tuple 
#define ll long long
#define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>

using namespace __gnu_pbds;
 
 
typedef tree<ll, null_type, less_equal<ll>, rb_tree_tag, tree_order_statistics_node_update> indexed_set;
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
vector<int> find_subset(int l, int u, vector<int> w){
    int i, st = 0, en = -1;
    int n = w.size();
    int sum = 0;
    vector<int> idx;
    for(i = 0; i < n; i++){
        idx.pb(i);
    }
    sort(idx.begin(), idx.end(), [&](int a, int b){
        return w[a] < w[b];
    });
    sort(w.begin(), w.end());
    int ansl = -1, ansr = -1;
    for(i = 0; i < n; i++){
        while(sum < l){
            en++;
            if(en == n){
                break;
            }
            sum += w[en];
            if(sum >= l && sum <= u){
                ansl = st, ansr = en;
                break;
            }
        }
        if(ansl != -1){
            break;
        }
        if(sum >= l && sum <= u){
            ansl = st, ansr = en;
            break;
        }
        while(sum > u){
            if(st == n){
                break;
            }
            sum -= w[st];
            if(sum >= l && sum <= u){
                ansl = st, ansr = en;
                break;
            }
            st++;
        }
        if(ansl != -1){
            break;
        }
    }
    if(ansl == -1){
        return {};
    }
    w.clear();
    vector<int> ans;
    for(i = ansl; i <= ansr; i++){
        ans.pb(idx[i]);
    }
    return ans;
}

Compilation message

molecules.cpp:5: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
    5 | #pragma GCC optimization ("O3")
      | 
molecules.cpp:6: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
    6 | #pragma GCC optimization ("unroll-loops")
      |
# 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 1 ms 364 KB OK (n = 2, answer = YES)
6 Correct 1 ms 364 KB OK (n = 3, answer = YES)
7 Correct 1 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 Incorrect 1 ms 364 KB sum of weights should be in [302..304] but it is 352
2 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 1 ms 364 KB OK (n = 2, answer = YES)
6 Correct 1 ms 364 KB OK (n = 3, answer = YES)
7 Correct 1 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 Incorrect 1 ms 364 KB sum of weights should be in [302..304] but it is 352
21 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 1 ms 364 KB OK (n = 2, answer = YES)
6 Correct 1 ms 364 KB OK (n = 3, answer = YES)
7 Correct 1 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 Incorrect 1 ms 364 KB sum of weights should be in [302..304] but it is 352
21 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 1 ms 364 KB OK (n = 2, answer = YES)
6 Correct 1 ms 364 KB OK (n = 3, answer = YES)
7 Correct 1 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 Incorrect 1 ms 364 KB sum of weights should be in [302..304] but it is 352
21 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 1 ms 364 KB OK (n = 2, answer = YES)
6 Correct 1 ms 364 KB OK (n = 3, answer = YES)
7 Correct 1 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 Incorrect 1 ms 364 KB sum of weights should be in [302..304] but it is 352
21 Halted 0 ms 0 KB -