Submission #666884

# Submission time Handle Problem Language Result Execution time Memory
666884 2022-11-29T20:27:09 Z zhing_zhou Stove (JOI18_stove) Java 11
100 / 100
412 ms 22888 KB
import java.util.*;
import java.io.*;
public class stove
{
    static class Reader {
        final private int BUFFER_SIZE = 1 << 16;
        private DataInputStream din;
        private byte[] buffer;
        private int bufferPointer, bytesRead;
  
        public Reader()
        {
            din = new DataInputStream(System.in);
            buffer = new byte[BUFFER_SIZE];
            bufferPointer = bytesRead = 0;
        }
  
        public Reader(String file_name) throws IOException
        {
            din = new DataInputStream(
                new FileInputStream(file_name));
            buffer = new byte[BUFFER_SIZE];
            bufferPointer = bytesRead = 0;
        }
  
        public String readLine() throws IOException
        {
            byte[] buf = new byte[64]; // line length
            int cnt = 0, c;
            while ((c = read()) != -1) {
                if (c == '\n') {
                    if (cnt != 0) {
                        break;
                    }
                    else {
                        continue;
                    }
                }
                buf[cnt++] = (byte)c;
            }
            return new String(buf, 0, cnt);
        }
  
        public int nextInt() throws IOException
        {
            int ret = 0;
            byte c = read();
            while (c <= ' ') {
                c = read();
            }
            boolean neg = (c == '-');
            if (neg)
                c = read();
            do {
                ret = ret * 10 + c - '0';
            } while ((c = read()) >= '0' && c <= '9');
  
            if (neg)
                return -ret;
            return ret;
        }
  
        public long nextLong() throws IOException
        {
            long ret = 0;
            byte c = read();
            while (c <= ' ')
                c = read();
            boolean neg = (c == '-');
            if (neg)
                c = read();
            do {
                ret = ret * 10 + c - '0';
            } while ((c = read()) >= '0' && c <= '9');
            if (neg)
                return -ret;
            return ret;
        }
  
        public double nextDouble() throws IOException
        {
            double ret = 0, div = 1;
            byte c = read();
            while (c <= ' ')
                c = read();
            boolean neg = (c == '-');
            if (neg)
                c = read();
  
            do {
                ret = ret * 10 + c - '0';
            } while ((c = read()) >= '0' && c <= '9');
  
            if (c == '.') {
                while ((c = read()) >= '0' && c <= '9') {
                    ret += (c - '0') / (div *= 10);
                }
            }
  
            if (neg)
                return -ret;
            return ret;
        }
  
        private void fillBuffer() throws IOException
        {
            bytesRead = din.read(buffer, bufferPointer = 0,
                                 BUFFER_SIZE);
            if (bytesRead == -1)
                buffer[0] = -1;
        }
  
        private byte read() throws IOException
        {
            if (bufferPointer == bytesRead)
                fillBuffer();
            return buffer[bufferPointer++];
        }
  
        public void close() throws IOException
        {
            if (din == null)
                return;
            din.close();
        }
    }
    public static void main(String args[]) throws IOException
    {
        Reader sc = new Reader();
        int n = sc.nextInt();
        long a[] = new long[n];
        long k = sc.nextLong();
        for(int i = 0; i < n; i++)
        {
            a[i] = sc.nextLong();
        }
        Arrays.sort(a);
        long ans = 0;
        long diff[] = new long[n - 1];
        for(int i = 0; i < n - 1; i++)
        {
            diff[i] = a[i + 1] - a[i];
        }
        Arrays.sort(diff);
        for(int i = 0; i < n - k; i++)
        {
            ans += diff[i];
        }
        System.out.println(ans + k);
    }
}
# Verdict Execution time Memory Grader output
1 Correct 59 ms 8112 KB Output is correct
2 Correct 59 ms 8424 KB Output is correct
3 Correct 62 ms 8532 KB Output is correct
4 Correct 62 ms 8088 KB Output is correct
5 Correct 58 ms 8220 KB Output is correct
6 Correct 58 ms 8392 KB Output is correct
7 Correct 63 ms 8500 KB Output is correct
8 Correct 59 ms 8264 KB Output is correct
9 Correct 62 ms 8132 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 59 ms 8112 KB Output is correct
2 Correct 59 ms 8424 KB Output is correct
3 Correct 62 ms 8532 KB Output is correct
4 Correct 62 ms 8088 KB Output is correct
5 Correct 58 ms 8220 KB Output is correct
6 Correct 58 ms 8392 KB Output is correct
7 Correct 63 ms 8500 KB Output is correct
8 Correct 59 ms 8264 KB Output is correct
9 Correct 62 ms 8132 KB Output is correct
10 Correct 178 ms 17188 KB Output is correct
11 Correct 161 ms 17244 KB Output is correct
12 Correct 168 ms 16444 KB Output is correct
13 Correct 177 ms 17424 KB Output is correct
14 Correct 170 ms 16948 KB Output is correct
15 Correct 167 ms 17168 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 59 ms 8112 KB Output is correct
2 Correct 59 ms 8424 KB Output is correct
3 Correct 62 ms 8532 KB Output is correct
4 Correct 62 ms 8088 KB Output is correct
5 Correct 58 ms 8220 KB Output is correct
6 Correct 58 ms 8392 KB Output is correct
7 Correct 63 ms 8500 KB Output is correct
8 Correct 59 ms 8264 KB Output is correct
9 Correct 62 ms 8132 KB Output is correct
10 Correct 178 ms 17188 KB Output is correct
11 Correct 161 ms 17244 KB Output is correct
12 Correct 168 ms 16444 KB Output is correct
13 Correct 177 ms 17424 KB Output is correct
14 Correct 170 ms 16948 KB Output is correct
15 Correct 167 ms 17168 KB Output is correct
16 Correct 387 ms 22304 KB Output is correct
17 Correct 386 ms 22360 KB Output is correct
18 Correct 412 ms 22252 KB Output is correct
19 Correct 360 ms 22316 KB Output is correct
20 Correct 370 ms 22588 KB Output is correct
21 Correct 390 ms 22552 KB Output is correct
22 Correct 398 ms 22548 KB Output is correct
23 Correct 399 ms 22304 KB Output is correct
24 Correct 366 ms 22888 KB Output is correct