제출 #1323983

#제출 시각아이디문제언어결과실행 시간메모리
1323983sh_qaxxorov_571Detecting Molecules (IOI16_molecules)C++20
100 / 100
33 ms3740 KiB
#include <vector> #include <algorithm> #include <iostream> using namespace std; /** * l: quyi chegara * u: yuqori chegara * w: molekulalar og'irligi */ vector<int> find_subset(int l, int u, vector<int> w) { int n = w.size(); // Elementlarni asl indekslari bilan birga saqlaymiz vector<pair<int, int>> sorted_w(n); for (int i = 0; i < n; i++) { sorted_w[i] = {w[i], i}; } // Og'irlik bo'yicha saralaymiz sort(sorted_w.begin(), sorted_w.end()); long long current_sum = 0; int left = 0; // Sliding Window (Sürüşuvchi oyna) for (int right = 0; right < n; right++) { current_sum += sorted_w[right].first; // Agar yig'indi u dan katta bo'lsa, chapdan elementlarni ayiramiz while (current_sum > u && left <= right) { current_sum -= sorted_w[left].first; left++; } // Agar yig'indi diapazonga tushsa, indekslarni qaytaramiz if (current_sum >= l && current_sum <= u) { vector<int> result; for (int i = left; i <= right; i++) { result.push_back(sorted_w[i].second); } return result; } } // Agar hech qanday qism-to'plam topilmasa return vector<int>(); }

컴파일 시 표준 에러 (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...