結果
問題 | No.1619 Coccinellidae |
ユーザー |
![]() |
提出日時 | 2021-07-22 22:52:37 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 228 ms / 2,000 ms |
コード長 | 1,140 bytes |
コンパイル時間 | 2,612 ms |
コンパイル使用メモリ | 80,996 KB |
実行使用メモリ | 63,624 KB |
最終ジャッジ日時 | 2024-07-17 19:19:48 |
合計ジャッジ時間 | 6,187 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 16 |
ソースコード
import java.io.*; import java.util.*; class Main { public static void main(String args[])throws Exception { BufferedReader bu=new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb=new StringBuilder(); String s[]=bu.readLine().split(" "); int n=Integer.parseInt(s[0]),i; long m=Long.parseLong(s[1]),k=Long.parseLong(s[2]),sum=0; Deque<Long> dq=new LinkedList<>(); for(i=0;i<n;i++) { dq.addLast((long)i); sum+=i; } long v=dq.pollLast(); v+=m-sum; dq.addLast(v); int cur=n-1; Queue<Long> q=new LinkedList<>(); while(cur>=0 && k-cur>=0) //one by one take largest and place it after the last appended value { q.add(dq.pollLast()); k-=cur; cur--; } while(!q.isEmpty()) sb.append(q.poll()+"\n"); while(dq.size()>k+1) sb.append(dq.pollFirst()+"\n"); if(!dq.isEmpty()) sb.append(dq.pollLast()+"\n"); while(!dq.isEmpty()) sb.append(dq.pollFirst()+"\n"); System.out.print(sb); } }