Submission #1140248

#TimeUsernameProblemLanguageResultExecution timeMemory
1140248AgageldiGift (IZhO18_nicegift)C++17
0 / 100
157 ms38128 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define N 4000005 #define ff first #define ss second #define pb push_back #define sz(s) (int)s.size() ll n, t, m,mn, sum, a[N]; deque <pair<ll,ll>> d; int main () { ios::sync_with_stdio(0);cin.tie(0); cin >> n >> m; for(int i = 1;i <= n; i++) { cin >> a[i]; sum += a[i]; d.pb({a[i],i}); } if(sum % m != 0) { cout << "-1\n"; return 0; } for(int i = 1; i <= n; i++) { if(sum / m < a[i]) { cout << "-1\n"; return 0; } } vector <int> answer; while(sz(d)) { if(sz(d) < m) { cout << "-1\n"; return 0; } mn = d[0].ff; for(int i = 0; i < m; i++){ mn = min(mn,d[i].ff); } answer.pb(mn); for(int i =0;i<m;i++) { answer.pb(d[i].ss); } t = 0; while(t < m && d[0].ff == mn) { d.pop_front(); t++; } for(int i = t; i < m; i++) { d[0].ff -= mn; } } cout <<sz(answer) / (m + 1) << '\n'; for(int i = 0; i < sz(answer); i++) { cout << answer[i] << " "; if(i % (m + 1) == m) cout << '\n'; } }
#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...