This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> p32;
typedef pair<ll,ll> p64;
#define pb push_back
#define eb emplace_back
#define fi first
#define se second
#define vi vector<int>
#define vp32 vector<p32>
#define fast_cin() ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
#define MOD %1000000007
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
template <class T>
using Tree =
tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
//never guess
//never debug without reviewing code
//never try adding ones or substracting them
//only step by step debug when necessay
std::vector<int> find_subset(int l, int u, std::vector<int> W) {
vector<p64> w;
ll totalsum = 0;
for(int i = 0; i<W.size(); i++){ w.eb(W[i],i); totalsum+=W[i];}
sort(w.begin(),w.end());
int x = 0; int y = 0;
if(w[0].fi>u) return {};
deque<int> res;
ll sum = 0;
while(y<W.size()){
if(sum<l){
sum+=w[y].fi;
res.pb(w[y].se);
y++;
}
if(sum>u){
sum-=w[x].fi;
res.pop_front();
x++;
}
if(sum>=l&&sum<=u){
return vi(res.begin(),res.end());
}
}
return {};
}
// int main(int argc, char const *argv[])
// {
// for(int x : find_subset(1,3,{1,1,1})) cout<<x<<' ';
// return 0;
// }
Compilation message (stderr)
molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:30:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
30 | for(int i = 0; i<W.size(); i++){ w.eb(W[i],i); totalsum+=W[i];}
| ~^~~~~~~~~
molecules.cpp:36:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
36 | while(y<W.size()){
| ~^~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |