| Task: | Cent saving |
| Sender: | Noname 01 |
| Submission time: | 2016-05-28 12:38:26 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.06 s | details |
| #2 | ACCEPTED | 0.06 s | details |
Code
// NONAME-01
#include <bits/stdc++.h>
using namespace std;
vector<long long> a;
long long c[5];
long long total;
int n;
void Load()
{
cin >> n;
a.resize(n);
total = 0;
memset(c, 0, sizeof(c));
for (int i = 0; i < n; i++) {
cin >> a[i];
total += a[i];
c[a[i] % 5]++;
}
}
void Solve()
{
long long sav = 0;
// c0 ignore;
// c1 -> save 1;
// c2 -> save 2;
//cerr << "total = " << total << "\n";
sav += c[1];
sav += 2*c[2];
sav -= 2*c[3];
sav -= c[4];
//cerr << "sav = " << sav << "\n";
// group c[4] and c[3] for +5;
long long i = c[4];
if (i > c[3]) i = c[3];
sav += 5*i;
c[4] -= i;
c[3] -= i;
// group c3 together;
i = c[3] / 2;
sav += 5*i;
// group c4 together;
i = c[4] / 3;
sav += 5*i;
//cerr << "sav = " << sav << "\n";
cout << total - sav << "\n";
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int nt, tt;
cin >> nt;
for (tt = 0; tt < nt; tt++) {
Load();
Solve();
}
return 0;
}Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 100 1000 528433894 255789530 559301042 ... |
| correct output |
|---|
| 475191144965 460688647850 478543444030 475238936090 456736521510 ... |
| user output |
|---|
| 475191144965 460688647850 478543444030 475238936090 456736521510 ... Truncated |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 1 100000 666086355 190481330 514353517 ... |
| correct output |
|---|
| 47176864928795 |
| user output |
|---|
| 47176864928795 |
