結果
| 問題 | No.1619 Coccinellidae | 
| コンテスト | |
| ユーザー |  merlin | 
| 提出日時 | 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);
    }
}
            
            
            
        