| Task: | Cent saving |
| Sender: | Oispa Kaljaa |
| Submission time: | 2016-05-28 14:33:37 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.06 s | details |
| #2 | ACCEPTED | 0.07 s | details |
Code
#include <bits/stdc++.h>
#define i64 long long
using namespace std;
int main(){
cin.sync_with_stdio(0);
cin.tie(0);
int tests; cin >> tests;
i64 p[101010];
while(tests--){
int n; cin >> n;
i64 sum = 0;
for(int i = 0; i < n; i++){
cin >> p[i];
if(p[i]%5 < 3)
sum+=p[i]-(p[i]%5);
else
sum+=p[i]+(5-p[i]%5);
}
i64 c[5] = {0};
for(int i = 0; i < n; i++)
c[p[i]%5]++;
i64 be = 0;
i64 m34 = min(c[3], c[4]);
be = max(be, m34*5+(c[3]-m34)/2*5+(c[4]-m34)/3*5);
i64 be2 = c[3]/2*5+c[4]/3*5;
if(c[3]%2==1 && c[4]%3 > 0)
be2+=5;
be = max(be, be2);
cout << sum-be << endl;
}
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 |
