Submission

Status:

PPPPPP----

Subtask/Task Score:

60/100

Score: 60

User: kittipos

Problemset: โชว์ของโลมา

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-05 00:30:37

#include <iostream>
#include <vector>

using namespace std;


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.second + 1;
  int end = start + (n - i) + (n - i-1);
  pair<int, int> res = make_pair(start, end);
  dp[i] = res;
//   cout << "ring " << i << " (" << res.first << ", " << res.second << ")"
//        << endl;
  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;
}