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