Submission #501026

#TimeUsernameProblemLanguageResultExecution timeMemory
501026dostigatorGift (IZhO18_nicegift)C++17
30 / 100
270 ms66712 KiB
// author lox:( #pragma GCC optimize("O3") #pragma GCC target("popcnt") #include <bits/stdc++.h> using namespace std; #define popcnt __builtin_popcount #define all(a) a.begin(),a.end() #define low_b lower_bound #define up_b upper_bound #define vii vector<pair<ll,ll>> #define vll vector<pair<ll,ll>> #define pii pair<ll,ll> #define mii map<ll,ll> #define pll pair<ll,ll> #define mll map<ll,ll> #define vi vector<ll> #define vl vector<ll> #define pb push_back #define endl '\n' #define Y second #define X first typedef long double ld; typedef long long ll; const ll dx[4]={1,-1,0,0},dy[4]={0,0,1,-1},col=107,N=3e6+777; const ll mod=1e9+7,inf=1e18; void fre_open(){freopen("file.in","r",stdin);freopen("file.out","w",stdout);} ll binpow(ll n,ll k){if(k<0)return 0ll;if(k==0)return 1ll;if(k%2)return (binpow(n,k-1)*n)%mod;ll kk=binpow(n,k/2)%mod;return (kk*kk)%mod;} void solve(){ int n,k,sum=0; cin>>n>>k; int a[n+1]; set<pii>s; for(int i=1; i<=n; ++i){ cin>>a[i]; s.insert({a[i],i}); sum+=a[i]; } if(sum%k) {cout<<"-1\n";return;} if(sum<(*s.rbegin()).X*k) {cout<<"-1\n";return;} cout<<sum/k<<endl; for(int i=1; i<=sum/k; ++i){ cout<<1<<' '; vector<pii> gg; if(s.size()<k){ cout<<"-1\n"; return; } for(int j=1; j<=k; ++j){ pii v=*s.rbegin(); s.erase(v); gg.pb(v); cout<<v.Y<<' '; } for(int j=0; j<=k; ++j){ pii v=gg[j]; v.X--; s.insert(v); } } } int main() { ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); //fre_open ll tt=1; //cin>>tt; while(tt--) solve(); }

Compilation message (stderr)

nicegift.cpp: In function 'void solve()':
nicegift.cpp:44:20: warning: comparison of integer expressions of different signedness: 'std::set<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   44 |         if(s.size()<k){
      |            ~~~~~~~~^~
nicegift.cpp: In function 'void fre_open()':
nicegift.cpp:26:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   26 | void fre_open(){freopen("file.in","r",stdin);freopen("file.out","w",stdout);}
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
nicegift.cpp:26:53: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   26 | void fre_open(){freopen("file.in","r",stdin);freopen("file.out","w",stdout);}
      |                                              ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#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...