| Task: | Backup |
| Sender: | ArktinenKarpalo |
| Submission time: | 2019-03-07 17:40:54 +0200 |
| Language: | C++ |
| Status: | READY |
| Result: | 60 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 30 |
| #2 | ACCEPTED | 30 |
| #3 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #2 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #3 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #4 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #5 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #6 | ACCEPTED | 0.22 s | 2, 3 | details |
| #7 | ACCEPTED | 0.02 s | 1, 2, 3 | details |
| #8 | ACCEPTED | 0.03 s | 1, 2, 3 | details |
| #9 | ACCEPTED | 0.03 s | 2, 3 | details |
| #10 | ACCEPTED | 0.13 s | 2, 3 | details |
| #11 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #12 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #13 | ACCEPTED | 0.23 s | 3 | details |
| #14 | ACCEPTED | 0.02 s | 1, 2, 3 | details |
| #15 | ACCEPTED | 0.02 s | 2, 3 | details |
| #16 | ACCEPTED | 0.04 s | 3 | details |
| #17 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #18 | ACCEPTED | 0.02 s | 2, 3 | details |
| #19 | ACCEPTED | 0.03 s | 2, 3 | details |
| #20 | TIME LIMIT EXCEEDED | -- | 3 | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:41:6: warning: unused variable 'edans' [-Wunused-variable]
int edans = ans;
^~~~~
input/code.cpp:77:8: warning: 'b' may be used uninitialized in this function [-Wmaybe-uninitialized]
z[b] = i;
~~~~~^~~
input/code.cpp:76:8: warning: 'a' may be used uninitialized in this function [-Wmaybe-uninitialized]
z[a] = i;
~~~~~^~~Code
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define ld long double
#define N (1<<18)
#define M 1000000007
#define P complex<long long>
#define X real()
#define Y imag()
using namespace std;
int n, k, so[101010], s[101010], z[101010], ss[101010];
ll ans = 1e14;
void haku(int otettu, int nyk, ll sum) {
if(otettu == k)
ans=min(sum,ans);
if(nyk >= n-1 || otettu == k)
return;
haku(otettu, nyk+1, sum);
haku(otettu+1, nyk+2, sum+ss[nyk]);
}
int main() {
cin.tie(0);
cout.tie(0);
ios_base::sync_with_stdio(0);
int T = 1;
for(int g=0; g<T; g++) {
ans = 1e14;
cin >> n >> k;
for(int i=0; i<n; i++) {
cin >> s[i];
so[i] = s[i];
if(i)
ss[i-1] = s[i]-s[i-1];
z[i] = 0;
}
// haku(0,0,0);
int edans = ans;
// cout << ans << " ";
ans = 1e14;
for(int i=1; i<=k; i++) {
int mini = 1e9+1;
int a, b, oik;
for(int j=0; j<n-1; j++) {
int mod = 0;
oik = j+1;
if(z[j])
continue;
bool pal = false;
int eee = 0;
int aaa = j;
while(z[oik]) {
if(pal) {
mod -= s[oik]-s[eee];
aaa = oik;
} else {
mod += s[oik]-s[aaa];
eee = oik;
}
pal = !pal;
oik++;
}
mod += s[oik]-s[aaa];
if(oik >= n) {
continue;
}
if(mod < mini) {
a = j;
b = oik;
mini = mod;
}
}
z[a] = i;
z[b] = i;
}
ans = 0;
int ed = -1;
for(int i=0; i<n; i++) {
if(z[i]) {
if(ed == -1) {
ed = i;
} else {
ans += so[i]-so[ed];
ed = -1;
}
}
}
// haku(0,0,0);
cout << ans;
// if(edans != ans)
// cout << edans << " " << ans << endl;
}
}
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 2 1 0 1000000000 |
| correct output |
|---|
| 1000000000 |
| user output |
|---|
| 1000000000 |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 17 8 101266 101394 101458 101490 ... |
| correct output |
|---|
| 340 |
| user output |
|---|
| 340 |
Test 3
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 49000 29983 53806 76909 106815 ... |
| correct output |
|---|
| 411321413 |
| user output |
|---|
| (empty) |
Test 4
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 30000 29983 53806 76909 106815 ... |
| correct output |
|---|
| 100755932 |
| user output |
|---|
| (empty) |
Test 5
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 20 10 126229031 250138471 333910089 443521720 ... |
| correct output |
|---|
| 537092323 |
| user output |
|---|
| 537092323 |
Test 6
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 10000 4999 168328 266967 462469 639689 ... |
| correct output |
|---|
| 492516409 |
| user output |
|---|
| 492516409 |
Test 7
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 10 4 165 375 439 456 ... |
| correct output |
|---|
| 44 |
| user output |
|---|
| 44 |
Test 8
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 20 9 4336 4500 4552 4702 ... |
| correct output |
|---|
| 773 |
| user output |
|---|
| 773 |
Test 9
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 2001 1000 1230 1440 1630 2230 ... |
| correct output |
|---|
| 493503 |
| user output |
|---|
| 493503 |
Test 10
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 10000 3000 245408 417449 650973 863296 ... |
| correct output |
|---|
| 101056127 |
| user output |
|---|
| 101056127 |
Test 11
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 50000 20000 37035 37042 37046 37052 ... |
| correct output |
|---|
| 129968 |
| user output |
|---|
| (empty) |
Test 12
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 99999 48000 15929 43928 65765 86730 ... |
| correct output |
|---|
| 375524431 |
| user output |
|---|
| (empty) |
Test 13
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 100000 1000 536 9214 34619 53734 ... |
| correct output |
|---|
| 75975 |
| user output |
|---|
| 75975 |
Test 14
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 10 4 5851 5854 5856 5859 ... |
| correct output |
|---|
| 2664 |
| user output |
|---|
| 2664 |
Test 15
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 100 45 3712 13742 17394 19428 ... |
| correct output |
|---|
| 140256 |
| user output |
|---|
| 140256 |
Test 16
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 20000 400 3174 3175 3176 3179 ... |
| correct output |
|---|
| 803105 |
| user output |
|---|
| 803105 |
Test 17
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 49000 3605 14510 18001 20881 ... |
| correct output |
|---|
| 162316123 |
| user output |
|---|
| (empty) |
Test 18
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 100 50 0 1000000 1000002 1000005 ... |
| correct output |
|---|
| 1002499 |
| user output |
|---|
| 1002499 |
Test 19
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 1000 500 0 1000000 1000002 1000005 ... |
| correct output |
|---|
| 1249999 |
| user output |
|---|
| 1249999 |
Test 20
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 49494 123 65659 98427 114811 ... |
| correct output |
|---|
| 250954854 |
| user output |
|---|
| (empty) |
