Submission
Status:
PPPPxxxxxx
Subtask/Task Score:
40/100
Score: 40
User: cyblox_boi
Problemset: โชว์ของโลมา
Language: cpp
Time: 0.030 second
Submitted On: 2026-03-14 19:47:06
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
long long n;
cin >> n;
vector<vector<long long>> dolphins(n, vector<long long>(n, -1));
long long current = 1;
pair<long long, long long> currentPosition = {0, 0};
long long maxNumber = n * n;
long long push = 0;
while (current <= maxNumber)
{
for (long long i = push; i < n && current <= maxNumber; i++, current++, currentPosition.second++)
{
dolphins[currentPosition.first][currentPosition.second] = current;
}
currentPosition.second--;
currentPosition.first++;
push++;
for (long long i = 0; i < n && current <= maxNumber && dolphins[currentPosition.first][currentPosition.second] == -1; i++, current++, currentPosition.second--)
{
dolphins[currentPosition.first][currentPosition.second] = current;
}
currentPosition.second++;
currentPosition.first++;
push++;
for (long long i = push; i < n && current <= maxNumber && dolphins[currentPosition.first][currentPosition.second] == -1; i++, current++, currentPosition.first++)
{
dolphins[currentPosition.first][currentPosition.second] = current;
}
currentPosition.second++;
currentPosition.first--;
for (long long i = push; i < n && current <= maxNumber && dolphins[currentPosition.first][currentPosition.second] == -1; i++, current++, currentPosition.first--)
{
dolphins[currentPosition.first][currentPosition.second] = current;
}
currentPosition.second++;
currentPosition.first++;
}
long long total = 0;
for (long long i = 0; i < n; i++)
{
total += to_string(dolphins[n - 1][i]).back() - '0';
}
cout << total << '\n';
return 0;
}