제출 #496638

#제출 시각아이디문제언어결과실행 시간메모리
496638ergaganGift (IZhO18_nicegift)C++17
0 / 100
2085 ms213888 KiB
//я так много думал, что опять попал #include <bits/stdc++.h> #define all(x) x.begin(),x.end() #define pb push_back #define ppb pop_back #define pf push_front #define ppf pop_front #define f first #define s second #define left(v) v + v #define right(v) v + v + 1 #define ub upper_bound #define lb lower_bound using namespace std; typedef long long ll; //17 SEVENTEEN const long double Pi = acos(-1.0); const ll dx[] = {0,0,1,-1}; const ll dy[] = {1,-1,0,0}; const ll N = (ll) 1e6 + 17; const ll M = (ll) 5e3 + 69; const ll inf = (ll) 1e14 + 3; const ll mod = (ll) 1e9 + 7; ll sq(ll x) { return x * x; } ll zxc = 1, a[N]; multiset<pair<ll, ll> > st; vector<vector<pair<ll, ll> > > ans; void solve() { ll n, k; cin >> n >> k; for(ll i = 1; i <= n; i++) { cin >> a[i]; st.insert({a[i], i}); } while(k <= st.size()) { ll cnt = 0; vector<pair<ll, ll> > v; while(v.size() < k) { pair<ll,ll> x = *st.rbegin(); x.f--, v.pb(x); st.erase(st.find(*st.rbegin())); } for(auto x : v) { if(x.f) st.insert(x); } ans.pb(v); } if(!st.empty()) { cout << "-1\n"; return; } cout << ans.size() << "\n"; for(auto v : ans) { for(auto x : v) cout << x.s << " "; cout << "1\n"; } } int main(/*Уверенно*/) { ios_base::sync_with_stdio(0); cin.tie(0); /* freopen(".in", "r", stdin); freopen(".out", "w", stdout); */ // cin >> zxc; while(zxc--) { solve(); } return 0; } // さよならさ いかなくちゃ

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

nicegift.cpp: In function 'void solve()':
nicegift.cpp:43:13: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::multiset<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |     while(k <= st.size()) {
      |           ~~^~~~~~~~~~~~
nicegift.cpp:48:24: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   48 |         while(v.size() < k) {
      |               ~~~~~~~~~^~~
nicegift.cpp:45:12: warning: unused variable 'cnt' [-Wunused-variable]
   45 |         ll cnt = 0;
      |            ^~~
#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...