Nagrody Jury za pierwszą rundę otrzymują:
- Marcin Chrzanowski - za szczęśliwą inaugarcję konkursu pierwszym poprawnym zgłoszeniem ( i pierwszym zgłoszeniem w ogóle) o godzinie 06:09:25 w poniedziałek.
- Michał Makarewicz - za wyjątkowo zgrabną implementację rozwiązania zadania Ciastka, którą załączamy poniżej.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| #include <iostream>
#include <vector>
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 1000000;
int t, n;
int T[N + 1], R[2], K[2], W[2], ans, res;
int main()
{
ios_base::sync_with_stdio(false);
cin >> t;
while(t--)
{
cin >> n;
for(int i = 0; i < n; ++i)
cin >> T[i];
sort(T, T + n, greater<int>());
R[0] = R[1] = 0;
for(int i = 0; i < n; ++i)
R[i & 1] += T[i];
ans = R[0] - R[1];
K[0] = K[1] = 0;
for(int i = 0; i < n; ++i)
{
K[i & 1] += T[i];
W[0] = R[0] - K[0];
W[1] = R[1] - K[1];
if((i & 1) == 0)
ans = min(ans, (K[0] + W[1]) - (K[1] + T[i] + W[0]));
}
cout << ans << endl;
}
} |