Submission #1028184

#TimeUsernameProblemLanguageResultExecution timeMemory
1028184khanhtbDetecting Molecules (IOI16_molecules)C++14
69 / 100
31 ms5144 KiB
#include <bits/stdc++.h> #include "molecules.h" #define ll int #define ull unsigned long long #define ld long double #define pb push_back #define pf push_front #define vi vector<ll> #define vii vector<vi> #define pll pair<ll, ll> #define vpll vector<pll> #define all(a) a.begin(), a.end() #define fi first #define se second using namespace std; const ll mod = 1e9 + 7; const ll inf = 2e18; const ll blocksz = 320; const ll N = 2e5 + 8; pll a[N]; std::vector<int> find_subset(int l, int r, std::vector<int> x){ ll n = x.size(); for(ll i = 0; i < n; i++) a[i].fi = x[i], a[i].se = i; sort(a,a+n); vi ans; ll j = 0, sum = 0; for(ll i = 0; i < n; i++){ sum += a[i].fi; while((sum > r || a[i].fi-a[j].fi > r-l) && j <= i){ sum -= a[j].fi; j++; } if(l <= sum){ for(ll x = j; x <= i; x++) ans.pb(a[x].se); break; } } return ans; }

Compilation message (stderr)

molecules.cpp:17:16: warning: overflow in conversion from 'double' to 'int' changes value from '2.0e+18' to '2147483647' [-Woverflow]
   17 | const ll inf = 2e18;
      |                ^~~~
#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...