Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: kittipos
Problemset: โชว์ของโลมา
Language: cpp
Time: 0.004 second
Submitted On: 2026-03-05 00:36:22
#include <iostream>
#include <vector>
using namespace std;
vector<pair<int64_t, int64_t>> dp;
int64_t n;
pair<int64_t, int64_t> ring(int i) {
if (i == 0) {
return make_pair(1, n);
}
if (dp[i].first != -1) {
return dp[i];
}
pair<int64_t, int64_t> old = ring(i - 1);
int64_t start = old.second + 1;
int64_t end = start + (n - i) + (n - i-1);
pair<int64_t, int64_t> res = make_pair(start, end);
dp[i] = res;
return res;
}
int main() {
cin >> n;
if (n == 2)
{
cout << "7";
return 0;
}
dp.assign(n, make_pair(-1, -1));
int sum = 0;
for (int i = 1; i <= n - 2; i++) {
if (i % 2 == 1) {
sum += ring(i).second % 10;
} else {
sum += ring(i).first % 10;
}
}
sum += ((n*n)-1) % 10;
sum += (n*n) % 10;
cout << sum;
return 0;
}