Submission #1310588

#TimeUsernameProblemLanguageResultExecution timeMemory
1310588thesentroSouvenirs (IOI25_souvenirs)C++20
Compilation error
0 ms0 KiB
#include <cassert>
#include <cstdio>
#include <cstdlib>
#include <utility>
#include <vector>
#include <bits/stdc++.h>
using namespace std;

namespace {
const int CALLS_CNT_LIMIT = 10'000;

int calls_cnt;
int N;
std::vector<long long> P;
std::vector<int> Q;

void quit(const char* message) {
  printf("%s\n", message);
  exit(0);
}
} // namespace

std::pair<std::vector<int>, long long> transaction(long long M) {
  calls_cnt++;
  if (calls_cnt > CALLS_CNT_LIMIT)
    quit("Too many calls");
  if (M >= P[0] || M < P[N - 1])
    quit("Invalid argument");

  std::vector<int> L;
  long long R = M;
  for (int i = 0; i < N; i++) {
    if (R >= P[i]) {
      R -= P[i];
      Q[i]++;
      L.push_back(i);
    }
  }
  return {L, R};
}
void buy_souvenirs(int N, long long P0) {
  std::pair<std::vector<int>, long long> res = transaction(P0-1);
  return;
}

int main() {
  assert(1 == scanf("%d", &N));
  P.resize(N);
  for (int i = 0; i < N; i++)
    assert(1 == scanf("%lld", &P[i]));
  fclose(stdin);

  Q.assign(N, 0);
  calls_cnt = 0;
  buy_souvenirs(N, P[0]);
  for (int i = 0; i < N; i++)
    printf("%s%d", i ? " " : "", Q[i]);
  printf("\n");
  fclose(stdout);

  return 0;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccDRG3NF.o: in function `main':
stub.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccdsr9fq.o:souvenirs.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccDRG3NF.o: in function `transaction(long long)':
stub.cpp:(.text+0x200): multiple definition of `transaction(long long)'; /tmp/ccdsr9fq.o:souvenirs.cpp:(.text+0x0): first defined here
collect2: error: ld returned 1 exit status