Submission #89520

#TimeUsernameProblemLanguageResultExecution timeMemory
89520Harvey_RollensGift (IZhO18_nicegift)C++14
7 / 100
1855 ms93188 KiB
#include<bits/stdc++.h> #define ll long long #define ld long double #define st string #define fr first #define se second const ll mod=1e9+7; using namespace std; set<pair<ll, ll> > a; vector<pair<ll, vector<ll> > > v; int main() { //freopen("1.txt", "r", stdin); //freopen("1.txt", "w", stdout); ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); ll n, k, s=0; cin>>n>>k; for(ll i=1; i<=n; i++) { ll x; cin>>x; a.insert({x, i}); s+=x; } if(s%k!=0) { cout<<-1; return 0; } while(a.size()>=k) { std::vector<ll> q; std::vector<pair<ll, ll> > y; for(ll i=1; i<=k; i++) { //cout<<i<<" "<<a.size()<<endl; std::pair<ll, ll> x; x=*a.rbegin(); a.erase(*a.rbegin()); q.push_back(x.se); y.push_back(x); } ll z=y[y.size()-1].fr; for(ll i=0; i<y.size(); i++) { y[i].fr-=z; if(y[i].fr>0) a.insert(y[i]); //cout<<"y="<<y[i].fr<<" "<<y[i].se<<endl; } v.push_back({z, q}); } if(a.size()>0) { cout<<-1; return 0; } cout<<v.size()<<endl; for(ll i=0; i<v.size(); i++) { cout<<v[i].fr<<" "; for(ll j=0; j<v[i].se.size(); j++) { cout<<v[i].se[j]<<" "; } cout<<endl; } return 0; } /* */

Compilation message (stderr)

nicegift.cpp: In function 'int main()':
nicegift.cpp:40:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while(a.size()>=k)
           ~~~~~~~~^~~
nicegift.cpp:59:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(ll i=0; i<y.size(); i++)
                     ~^~~~~~~~~
nicegift.cpp:76:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(ll i=0; i<v.size(); i++)
                 ~^~~~~~~~~
nicegift.cpp:79:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(ll j=0; j<v[i].se.size(); j++)
                     ~^~~~~~~~~~~~~~~
#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...