Task: | Cent saving |
Sender: | LTR |
Submission time: | 2016-05-28 12:53:23 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.09 s | details |
#2 | ACCEPTED | 0.08 s | details |
Code
#include <iostream>#include <vector>#include <cstdio>#include <string>int main(){int t;std::cin >> t;for (int ti = 0; ti < t; ++ti) {int n;std::cin >> n;long long cost = 0;int threes = 0;int fours = 0;for (int ni = 0; ni < n; ++ni) {long long p;std::cin >> p;long long m = p % 5;switch (m) {case 0:case 1:case 2:cost += (p - m);break;case 3:cost += (p - m);threes++;break;case 4:cost += (p - m);fours++;break;}}// Prefer 3 + 4int combos = std::min(threes, fours);cost += combos * 5;threes -= combos;fours -= combos;// Sum remaining 3if (threes > 0) {int m = threes % 2;int combines = ((threes - m) / 2);cost += (combines + m) * 5;}// sum remaining 4if (fours > 0) {int m = fours % 3;int combines = ((fours - m) / 3);cost += ((2 *combines) + m) * 5;}std::cout << cost << std::endl;}}
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 |