Submission #1200350

#TimeUsernameProblemLanguageResultExecution timeMemory
1200350apelpisiaDetecting Molecules (IOI16_molecules)C++20
0 / 100
0 ms328 KiB
// #include "molecules.h"
// #include <bits/stdc++.h>

// using namespace std;

// std::vector<int> find_subset(int l, int u, std::vector<int> w) {
//     vector<int> ans;
//     vector<pair<int, int>> temp;
//     deque<int> dq;
//     bool check = false;
//     int ll=0, rr=0, sz = w.size(), lans, rans;
//     long long s=0;
//     for(int i=0; i<sz; i++){
//         temp.push_back({w[i], i});
//     }
//     sort(temp.begin(), temp.end());
//     while(rr<sz){
//         s+=temp[rr].first;
//         dq.push_back(temp[rr].second);
//         while(s>u){
//             s-=temp[ll++].first;
//             dq.pop_front();
//         }
//         if(s>=l && s<=u){
//             lans = ll;
//             rans = rr;
//             check = true;
//             break;
//         }
//         rr++;
//     }
//     if(check){
//         while(!dq.empty()){
//             ans.push_back(dq.front());
//             dq.pop_front();
//         }
//         return ans;
//     }
//     else return ans;

//     return std::vector<int>(0);
// }


#include<bits/stdc++.h>
#include "molecules.h"
// #define ll long long int
using namespace std;

vector<int> find_subset(int l, int r, vector<int> w) {
    int n = w.size();
    vector<pair<int,int>> arr;
    for (int i = 0 ; i < n ; i++) {
        arr.push_back({w[i], i});
    }
    sort(arr.begin(), arr.end());
    int ll = 0;
    long long int sum = 0;
    vector<int> ans;
    for (int i = 0 ; i < n ; i++) {
        if (sum + arr[i].first > l) {
            sum -= arr[ll++].first;
        }
        sum += arr[i].first;
        if (l <= sum && sum <= r) {
            for (int j = ll ; j <= i ; j++) {
                ans.push_back(arr[j].second);
            }
            break;
        }
    }
    sort(ans.begin(),ans.end());
    return ans;
}

Compilation message (stderr)

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...