Submission #89504

#TimeUsernameProblemLanguageResultExecution timeMemory
89504RAkhshonGift (IZhO18_nicegift)C++17
0 / 100
2052 ms394668 KiB
#include<bits/stdc++.h> #define ll long long #define fr first #define se second using namespace std; deque< pair<ll, ll> > d; vector< pair<ll,pair< ll, ll> > > ans; int main(){ ll n, k; cin>>n>>k; for( ll i =1 ; i <= n ; i ++ ){ ll x; cin>>x; d.push_back({x,i}); } sort(d.begin(),d.end()); while(d.size()>1){ ll i = d.size()-1; ll j = d.size()-2; if( d[i].fr - d[j].fr > 0 ){ ll x = d[i].fr-1; ll y = d[j].fr-1; ll l = d[i].se; ll r = d[j].se; d.pop_back(); d.pop_back(); if( x > 0 ) d.push_back({x,l}); if( y > 0 ) d.push_back({y,r}); ans.push_back({1,{l,r}}); sort(d.begin(),d.end()); } else if( d[i].fr - d[j].fr == 0 ) { ll x = d[i].fr; ll y = d[j].fr; ll l = d[i].se; ll r = d[j].se; d.pop_back(); d.pop_back(); if( x > 0 ) d.push_back({x,l}); if( y > 0 ) d.push_back({y,r}); ans.push_back({1,{l,r}}); sort(d.begin(),d.end()); } /// cout<<d.size()<<endl; } if( d.size() == 1 ){ cout<<-1; return 0; } cout<<ans.size()<<endl; for( ll i = 0; i < ans.size(); i ++ ){ cout<<ans[i].fr<<' '<<ans[i].se.fr<<' '<<ans[i].se.se<<endl; } }

Compilation message (stderr)

nicegift.cpp: In function 'int main()':
nicegift.cpp:55:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 for( ll i = 0; i < ans.size(); 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...