結果
問題 |
No.1619 Coccinellidae
|
ユーザー |
![]() |
提出日時 | 2021-07-22 22:45:26 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,144 bytes |
コンパイル時間 | 2,108 ms |
コンパイル使用メモリ | 80,660 KB |
実行使用メモリ | 63,708 KB |
最終ジャッジ日時 | 2024-07-17 19:07:42 |
合計ジャッジ時間 | 6,337 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 WA * 7 |
ソースコード
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+1); sum+=i+1; } 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); } }