Java选手,吐槽一下B题

刚才测试了一下,思路没问题,但是必须使用快速读写,不然会提示超时。建议下次出题给 Java 预留3秒,求求了~
import java.util.*;
import java.io.*;

public class Main {
    static boolean[] used = new boolean[2000001];
    public static void main( String[] args ) throws Exception {
        In in = new In( System.in );
        Out out = new Out( System.out );
        int n = in.in();
        int x = in.in();
        int now = x, pre = x;
        used[now] = true;
        //System.out.printf( "%d ", now );
        out.out.print(now);
        for( int i = 1; i < n; ++i ) {
            x = in.in();
            if( pre != x ) {
                pre = now = x;
            } else {
                while( used[now] ) {
                    now += pre;
                }
            }
            used[now] = true;
            out.out.print(" "+now);
            //System.out.printf( "%d ", now );
        }
        out.out.close();
    }
}


class In{
    private StringTokenizer in=new StringTokenizer("");
    private InputStream is;
    private BufferedReader bf;
    public In(File file) throws IOException {
        is=new FileInputStream(file);
        init();
    }
    public In(InputStream is) throws IOException
    {
        this.is=is;
        init();
    }
    private void init() throws IOException {
        bf=new BufferedReader(new InputStreamReader(is));
    }
    boolean hasNext() throws IOException {
        return in.hasMoreTokens()||bf.ready();
    }
    String ins() throws IOException {
        while(!in.hasMoreTokens()) {
            in=new StringTokenizer(bf.readLine());
        }
        return in.nextToken();
    }
    int in() throws IOException {
        return Integer.parseInt(ins());
    }
    long inl() throws IOException {
        return Long.parseLong(ins());
    }
    double ind() throws IOException {
        return Double.parseDouble(ins());
    }
}
class Out{
    public PrintWriter out;
    private OutputStream os;
    private void init() {
        out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(os)));
    }
    public Out(File file) throws IOException {
        os=new FileOutputStream(file);
        init();
    }
    public Out(OutputStream os) throws IOException
    {
        this.os=os;
        init();
    }
}


全部评论

相关推荐

牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务