제출 #346592

#제출 시각아이디문제언어결과실행 시간메모리
346592PetyDetecting Molecules (IOI16_molecules)C++14
0 / 100
1 ms492 KiB
#include <bits/stdc++.h>
#include "molecules.h"

using namespace std;

vector<int>array_sort;

bool cmp (int a, int b) {
  return array_sort[a] < array_sort[b];
}

vector<int> find_subset (int l, int u, vector<int>w) {
  int n = w.size();
  vector<int>index;
  index.resize(n);
  for (int i = 0; i < n; i++) {
    index[i] = i;
    array_sort.push_back(w[i]);
  }
  sort(index.begin(), index.end(), cmp);
  sort(w.begin(), w.end());
  int ind = n;
  long long sum =0;
  for (int i = n - 1; i >= 0; i--) {
    sum += w[i];
    if (sum >= l) {
      ind = i;
      break;
    }
  }
  if (ind == n)
    return {};
  ind = n - ind;
  sum = 0;
  for (int i = 0; i < ind; i++)
    sum += w[i];
  int dr = n - 1;
  while (ind <= dr && sum < l) {
    sum += w[dr];
    sum -= w[n - dr - 1];
    dr--;
  }
  int m = 0;
  vector<int>result;
  for (int i = n - dr - 1; i < ind; i++)
    result.push_back(index[i]);
  for (int i = dr + 1; i < n; i++)
    result.push_back(index[i]);
  return result;
}

컴파일 시 표준 에러 (stderr) 메시지

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:43:7: warning: unused variable 'm' [-Wunused-variable]
   43 |   int m = 0;
      |       ^
#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...