Submission #571089

#TimeUsernameProblemLanguageResultExecution timeMemory
571089stevancvDetecting Molecules (IOI16_molecules)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "molecules.h" #define ll long long #define ld long double #define sp ' ' #define en '\n' #define smin(a, b) a = min(a, b) #define smax(a, b) a = max(a, b) using namespace std; const int N = 1e5 + 2; const int M = 1e9; int mod = 1000000007; vector<int> find_subset(int L, int R, vector<int> W) { int n = W.size(); ll l = L; ll r = R; vector<ll> w = W; vector<int> order(n); iota(order.begin(), order.end(), 0); sort(order.begin(), order.end(), [&] (int i, int j) { return w[i] < w[j]; }); ll sum = 0; int kolko = 0; for (int i : order) { if (sum + w[i] <= r) { sum += w[i]; kolko++; } } vector<int> ans; for (int i = 0; i < kolko; i++) { ans.push_back(order[i]); } if (sum >= l) return ans; ll fali = l - sum; int lo = 0, hi = n - 1; while (lo < kolko && kolko <= hi) { ll delta = w[order[hi]] - w[order[lo]]; fali -= delta; ans[lo] = order[hi]; if (fali <= 0) break; } sum = 0; for (int i = 0; i < kolko; i++) sum += w[ans[i]]; if (sum < l) return {}; return ans; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:17:20: error: conversion from 'vector<int>' to non-scalar type 'vector<long long int>' requested
   17 |     vector<ll> w = W;
      |                    ^