Submission #65181

#TimeUsernameProblemLanguageResultExecution timeMemory
65181kingpig9Gift (IZhO18_nicegift)C++11
26 / 100
2051 ms52148 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int MAXN = 2e6 + 10; #define debug(...) fprintf(stderr, __VA_ARGS__) #define all(v) (v).begin(), (v).end() #define fi first #define se second #define fillchar(a, s) memset((a), (s), sizeof(a)) void kill() { puts("-1"); exit(0); } int N, K; ll A[MAXN], suma; namespace subtask3 { void go() { printf("%lld\n", suma / K); priority_queue<pll> pq; for (int i = 0; i < N; i++) { pq.push(pll(A[i], i)); } while (!pq.empty()) { vector<pll> vnew; printf("1"); for (int i = 0; i < K; i++) { pll p = pq.top(); pq.pop(); if (--p.fi) { vnew.push_back(p); } printf(" %lld", p.se + 1); } puts(""); for (pll p : vnew) { pq.push(p); } } } } namespace subtask4 { void go() { ll g = __gcd(N, K); ll v = A[0] * g / K; ll nturns = N / g; printf("%lld\n", nturns); int ptr = 0; for (ll i = 0; i < nturns; i++) { printf("%lld", v); for (int j = 0; j < K; j++) { printf(" %d", ptr + 1); ptr = (ptr + 1) % N; } puts(""); } } } int main() { scanf("%d %d", &N, &K); for (int i = 0; i < N; i++) { scanf("%lld", &A[i]); suma += A[i]; } if (suma % K != 0) { kill(); } if (suma <= 1e5) { subtask3::go(); } else { subtask4::go(); } }

Compilation message (stderr)

nicegift.cpp: In function 'int main()':
nicegift.cpp:72:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &N, &K);
  ~~~~~^~~~~~~~~~~~~~~~~
nicegift.cpp:75:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld", &A[i]);
   ~~~~~^~~~~~~~~~~~~~~
#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...