답안 #666877

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
666877 2022-11-29T20:02:49 Z zhing_zhou Stove (JOI18_stove) Java 11
100 / 100
361 ms 21828 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(), k = sc.nextInt();
        int a[] = new int[n];
        for(int i = 0; i < n; i++)
        {
            a[i] = sc.nextInt();
        }
        long ans = 0;
        int diff[] = new int[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);
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 8504 KB Output is correct
2 Correct 63 ms 8376 KB Output is correct
3 Correct 70 ms 8120 KB Output is correct
4 Correct 60 ms 8112 KB Output is correct
5 Correct 70 ms 8216 KB Output is correct
6 Correct 71 ms 8260 KB Output is correct
7 Correct 66 ms 8180 KB Output is correct
8 Correct 66 ms 8040 KB Output is correct
9 Correct 71 ms 8332 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 8504 KB Output is correct
2 Correct 63 ms 8376 KB Output is correct
3 Correct 70 ms 8120 KB Output is correct
4 Correct 60 ms 8112 KB Output is correct
5 Correct 70 ms 8216 KB Output is correct
6 Correct 71 ms 8260 KB Output is correct
7 Correct 66 ms 8180 KB Output is correct
8 Correct 66 ms 8040 KB Output is correct
9 Correct 71 ms 8332 KB Output is correct
10 Correct 178 ms 16984 KB Output is correct
11 Correct 184 ms 16992 KB Output is correct
12 Correct 164 ms 16468 KB Output is correct
13 Correct 170 ms 17072 KB Output is correct
14 Correct 172 ms 16824 KB Output is correct
15 Correct 178 ms 17108 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 8504 KB Output is correct
2 Correct 63 ms 8376 KB Output is correct
3 Correct 70 ms 8120 KB Output is correct
4 Correct 60 ms 8112 KB Output is correct
5 Correct 70 ms 8216 KB Output is correct
6 Correct 71 ms 8260 KB Output is correct
7 Correct 66 ms 8180 KB Output is correct
8 Correct 66 ms 8040 KB Output is correct
9 Correct 71 ms 8332 KB Output is correct
10 Correct 178 ms 16984 KB Output is correct
11 Correct 184 ms 16992 KB Output is correct
12 Correct 164 ms 16468 KB Output is correct
13 Correct 170 ms 17072 KB Output is correct
14 Correct 172 ms 16824 KB Output is correct
15 Correct 178 ms 17108 KB Output is correct
16 Correct 315 ms 21256 KB Output is correct
17 Correct 361 ms 21180 KB Output is correct
18 Correct 359 ms 21760 KB Output is correct
19 Correct 340 ms 21828 KB Output is correct
20 Correct 310 ms 21744 KB Output is correct
21 Correct 351 ms 21404 KB Output is correct
22 Correct 352 ms 21752 KB Output is correct
23 Correct 346 ms 21736 KB Output is correct
24 Correct 307 ms 21816 KB Output is correct