Submission #3782986
Source Code Expand
#include <bits/stdc++.h>
using i64 = long long;
using std::cout;
using std::endl;
using std::cin;
int main() {
int n, k; scanf("%d%d", &n, &k);
std::vector<int> A, B;
int count = 0;
for(int i = 0; i < n; i++) {
int a; scanf("%d", &a);
if(a == 0) count++;
else if(a < 0) A.push_back(-a);
else B.push_back(a);
}
sort(begin(A), end(A)); sort(begin(B), end(B));
if(k <= count) {
printf("0\n");
return 0;
}
k -= count;
int ans = 1 << 30;
if(k <= A.size()) ans = std::min(ans, A[k - 1]);
if(k <= B.size()) ans = std::min(ans, B[k - 1]);
for(int i = 0; i < A.size(); i++) {
if(k - i - 1 > B.size()) continue;
if(k - i - 1 == 0) break;
ans = std::min({ans, 2 * A[i] + B[k - i - 2], A[i] + 2 * B[k - i - 2]});
}
printf("%d\n", ans);
return 0;
}
Submission Info
Submission Time
2018-12-13 18:25:28+0900
Task
C - Candles
User
ecasdqina
Language
C++14 (GCC 5.4.1)
Score
300
Code Size
814 Byte
Status
AC
Exec Time
14 ms
Memory
1020 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:8:33: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int n, k; scanf("%d%d", &n, &k);
^
./Main.cpp:12:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int a; scanf("%d", &a);
^
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
300 / 300
Status
Set Name
Test Cases
Sample
0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt
All
0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt
Case Name
Status
Exec Time
Memory
0_00.txt
AC
1 ms
256 KB
0_01.txt
AC
1 ms
256 KB
0_02.txt
AC
1 ms
256 KB
0_03.txt
AC
1 ms
256 KB
1_00.txt
AC
14 ms
764 KB
1_01.txt
AC
14 ms
764 KB
1_02.txt
AC
14 ms
892 KB
1_03.txt
AC
14 ms
892 KB
1_04.txt
AC
14 ms
892 KB
1_05.txt
AC
14 ms
892 KB
1_06.txt
AC
14 ms
1020 KB
1_07.txt
AC
14 ms
892 KB