Submission #867540

#TimeUsernameProblemLanguageResultExecution timeMemory
867540StefanL2005Detecting Molecules (IOI16_molecules)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;
#define ll long long

vector<int> find_subset(int L, int R, vector<int> v)
{
    int n = v.size();
    vector<pair<int,int>> w(n);
    for (int i = 0; i < n; i++)
        w[i] = make_pair(v[i], i);

    deque<int> Q;
    vector<int> result;
    ll sum = 0;
    for (int i = 0; i < n; i++)
    {
        sum += w[i].first;
        Q.push_back(w[i].second);

        while(sum > R && !Q.empty())
        {
            sum -= w[Q.front()];
            Q.pop_front();
        }
    }

    while(!Q.empty())
    {
        result.push_back(Q.front());
        Q.pop_front();       
    }

    return result;
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:23:17: error: no match for 'operator-=' (operand types are 'long long int' and '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'})
   23 |             sum -= w[Q.front()];