Submission #523973

#TimeUsernameProblemLanguageResultExecution timeMemory
523973cqtshadowDetecting Molecules (IOI16_molecules)C++14
9 / 100
1 ms292 KiB
#include <bits/stdc++.h>
#define MASK(x) (1LL << x)
#define GETBIT(mask, x) ((mask >> (x))&1)
#define ONBIT(mask, x) (mask | (1LL << (x)))
#define Each(type, i, a, b) for(type i = (a) ; i <= (b) ; ++i)
#define REach(type, i, a, b) for(type i = (a) ; i >= (b) ; --i)
using namespace std;

typedef long long ll;

const int N = 2e5 + 7;
const int MOD = 1e9 + 7;
const int INF = 2e9;
const double eps = 1e-9;
const ll oo = 4e18;

template<class X> bool maximize(X &x, X y) {return (x + eps < y ? x = y, true : false);}
template<class X> bool minimize(X &x, X y) {return (x > y + eps ? x = y, true : false);}

void add(int &x, int y) {x += y; if(x >= MOD) x -= MOD;}
void sub(int &x, int y) {x -= y; if(x < 0) x += MOD;}
int radd(int x, int y) {add(x, y); return x;}
int rsub(int x, int y) {sub(x, y); return x;}

string to2(int val) {bitset<10> temp(val); return temp.to_string();}

int n;

namespace SUB1 {
    vector<int> solve(int l, int u, vector<int> w) {
//        vector<int> result(0);
//        int sum = 0;
//        while(result.size() < n && sum < l) {
//            result.push_back(w[0]);
//            sum += w[0];
//        }
//        if(sum > u || sum < l) return vector<int>(0);
//        return result;
        vector <int> ans(0);

        ll x = u / w[0];

        if (x <= n && x * w[0] >= l) {

            ll j = 0;

            while (j < x) {

                ans.push_back(j); j++;

            }

        }

        return ans;
    }
}

vector<int> find_subset(int l, int u, vector<int> w) {
    n = w.size();
    int wmax = -1;
    bool isequal = true; int ele = w[0];

    for(int x : w) {
        maximize(wmax, x);
        isequal &= (ele == x);
    }

    if(n <= 100 && wmax <= 100 && l <= 1000 && isequal)
        return SUB1::solve(l, u, w);
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:71:1: warning: control reaches end of non-void function [-Wreturn-type]
   71 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...