<Problem>
https://www.spoj.com/PTIT/problems/ALGOPRO6/ #include <iostream>
using namespace std;
int sumDigit(int n) {
int t = 0;
while (n > 0) {
t += n % 10;
n = n / 10;
}
return t;
}
int main() {
int n;
cin >> n;
int sum28 = 0;
for (int i = 1; i <= 28; i++) {
sum28 += sumDigit(i);
}
int sum29 = sum28 + 2 + 9;
int sum30 = sum29 + 3 + 0;
int sum31 = sum30 + 3 + 1;
long long sumYear = 0;
if ((n % 4 == 0 && n % 100 != 0) || (n % 100 == 0 && n % 400 == 0)) {
sumYear += 366 * sumDigit(n);
}
else {
sumYear += 365 * sumDigit(n);
}
for (int i = 1; i <= 12; i++) {
switch (i) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: {
sumYear += 31 * sumDigit(i);
sumYear += sum31;
break;
}
case 2: {
if ((n % 4 == 0 && n % 100 != 0) || (n % 100 == 0 && n % 400 == 0)) {
sumYear += 29 * sumDigit(i);
sumYear += sum29;
}
else {
sumYear += 28 * sumDigit(i);
sumYear += sum28;
}
break;
}
case 4: case 6: case 9: case 11: {
sumYear += 30 * sumDigit(i);
sumYear += sum30;
break;
}
}
}
cout << sumYear << endl;
return 0;
}