# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
378671 | 2021-03-17T03:05:12 Z | daniel920712 | Gift (IZhO18_nicegift) | C++14 | 406 ms | 30844 KB |
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <stack> #include <map> #include <vector> using namespace std; map < long long , stack < long long > > all; vector < pair < long long , long long > > que; long long ttt[1000005]; long long F(long long a,long long b) { if(b==0) return a; return F(b,a%b); } int main() { //freopen("aa.txt","w+t",stdout); long long N,K,i,j,ans=0,x,y,a,b,t,xx,tt,now,con; scanf("%lld %lld",&N,&K); for(i=1;i<=N;i++) { scanf("%lld",&t); all[t].push(i); ans+=t; ttt[i]=t; xx=t; } if(ans%K) printf("-1\n"); else if(K==2&&ans<=100000) { while(!all.empty()) { x=all.begin()->second.top(); a=all.begin()->first; all[a].pop(); if(prev(all.end())->second.empty()) { printf("-1\n"); return 0; } y=prev(all.end())->second.top(); b=prev(all.end())->first; all[b].pop(); //printf("1 %lld %lld\n",x,y); que.push_back(make_pair(x,y)); if(all[a].empty()) all.erase(a); if(a!=b&&all[b].empty()) all.erase(b); if(a!=1) all[a-1].push(x); if(b!=1) all[b-1].push(y); } printf("%lld\n",ans/K); for(auto i:que) printf("1 %lld %lld\n",i.first,i.second); } else { tt=K*N/F(K,N); //printf("%lld\n",tt); ans=(xx*N)/(tt); //printf("%lld\n",ans); con=xx*N/(ans*K); if(con*K>3000000) printf("-1\n"); else { printf("%lld\n",con); now=0; for(i=0;i<con;i++) { printf("%lld ",ans); for(j=0;j<K;j++) { printf("%lld ",now+1); now=(now+1)%N; } printf("\n"); } } } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | n=4 |
2 | Correct | 0 ms | 364 KB | n=3 |
3 | Correct | 1 ms | 364 KB | n=3 |
4 | Correct | 0 ms | 364 KB | n=4 |
5 | Correct | 0 ms | 364 KB | n=4 |
6 | Correct | 1 ms | 364 KB | n=2 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | n=4 |
2 | Correct | 0 ms | 364 KB | n=3 |
3 | Correct | 1 ms | 364 KB | n=3 |
4 | Correct | 0 ms | 364 KB | n=4 |
5 | Correct | 0 ms | 364 KB | n=4 |
6 | Correct | 1 ms | 364 KB | n=2 |
7 | Correct | 1 ms | 364 KB | n=5 |
8 | Correct | 3 ms | 748 KB | n=8 |
9 | Correct | 6 ms | 748 KB | n=14 |
10 | Correct | 4 ms | 748 KB | n=11 |
11 | Correct | 25 ms | 2784 KB | n=50000 |
12 | Correct | 21 ms | 2784 KB | n=50000 |
13 | Correct | 20 ms | 1632 KB | n=10 |
14 | Correct | 16 ms | 1508 KB | n=685 |
15 | Correct | 17 ms | 1632 KB | n=623 |
16 | Correct | 10 ms | 1124 KB | n=973 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | n=4 |
2 | Correct | 0 ms | 364 KB | n=3 |
3 | Correct | 1 ms | 364 KB | n=3 |
4 | Correct | 0 ms | 364 KB | n=4 |
5 | Correct | 0 ms | 364 KB | n=4 |
6 | Correct | 1 ms | 364 KB | n=2 |
7 | Correct | 1 ms | 364 KB | n=5 |
8 | Correct | 3 ms | 748 KB | n=8 |
9 | Correct | 6 ms | 748 KB | n=14 |
10 | Correct | 4 ms | 748 KB | n=11 |
11 | Correct | 25 ms | 2784 KB | n=50000 |
12 | Correct | 21 ms | 2784 KB | n=50000 |
13 | Correct | 20 ms | 1632 KB | n=10 |
14 | Correct | 16 ms | 1508 KB | n=685 |
15 | Correct | 17 ms | 1632 KB | n=623 |
16 | Correct | 10 ms | 1124 KB | n=973 |
17 | Incorrect | 1 ms | 364 KB | Taken too much stones from the heap |
18 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 406 ms | 30844 KB | n=1000000 |
2 | Correct | 243 ms | 18924 KB | n=666666 |
3 | Correct | 136 ms | 10604 KB | n=400000 |
4 | Correct | 338 ms | 22252 KB | n=285714 |
5 | Correct | 7 ms | 748 KB | n=20000 |
6 | Correct | 297 ms | 18844 KB | n=181818 |
7 | Correct | 4 ms | 492 KB | n=10000 |
8 | Correct | 40 ms | 2156 KB | n=6666 |
9 | Correct | 2 ms | 364 KB | n=4000 |
10 | Correct | 225 ms | 9708 KB | n=2857 |
11 | Correct | 1 ms | 364 KB | n=2000 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | n=4 |
2 | Correct | 0 ms | 364 KB | n=3 |
3 | Correct | 1 ms | 364 KB | n=3 |
4 | Correct | 0 ms | 364 KB | n=4 |
5 | Correct | 0 ms | 364 KB | n=4 |
6 | Correct | 1 ms | 364 KB | n=2 |
7 | Correct | 1 ms | 364 KB | n=5 |
8 | Correct | 3 ms | 748 KB | n=8 |
9 | Correct | 6 ms | 748 KB | n=14 |
10 | Correct | 4 ms | 748 KB | n=11 |
11 | Correct | 25 ms | 2784 KB | n=50000 |
12 | Correct | 21 ms | 2784 KB | n=50000 |
13 | Correct | 20 ms | 1632 KB | n=10 |
14 | Correct | 16 ms | 1508 KB | n=685 |
15 | Correct | 17 ms | 1632 KB | n=623 |
16 | Correct | 10 ms | 1124 KB | n=973 |
17 | Incorrect | 1 ms | 364 KB | Taken too much stones from the heap |
18 | Halted | 0 ms | 0 KB | - |