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;
}