제출 #237251

#제출 시각아이디문제언어결과실행 시간메모리
237251kshitij_sodaniGift (IZhO18_nicegift)C++17
30 / 100
140 ms4584 KiB
#include <bits/stdc++.h> using namespace std; typedef int64_t llo; #define mp make_pair #define pb push_back #define a first #define b second int it[1000001]; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n,k; cin>>n>>k; priority_queue<pair<int,int>> x; for(int i=0;i<n;i++){ cin>>it[i]; if(it[i]>0){ x.push({it[i],i}); } } int st=0; vector<vector<int>> ans; while(x.size()){ if(x.size()<k){ st=1; break; } ans.pb({}); vector<pair<int,int>> kk; for(int i=0;i<k;i++){ pair<int,int> no=x.top(); x.pop(); ans.back().pb(no.b); kk.pb(no); } for(auto j:kk){ if(j.a>1){ x.push({j.a-1,j.b}); } } } if(st){ cout<<-1<<endl; } else{ cout<<ans.size()<<endl; for(auto j:ans){ cout<<1<<" "; for(auto i:j){ cout<<i+1<<" "; } cout<<endl; } } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

nicegift.cpp: In function 'int main()':
nicegift.cpp:24:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(x.size()<k){
      ~~~~~~~~^~
#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...