提出 #75559454
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
#define int ll
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
mt19937_64 rng(std::chrono::system_clock::now().time_since_epoch().count());
signed main() {
cin.tie(0)->sync_with_stdio(0);
int n;
cin >> n;
vector<vi>a(n+1,vi(n+1));
for(int i = 1; i<=n; i++){
string s;
cin >> s;
for(int j = 1; j<=n; j++){
a[i][j] = s[j-1] == '@';
}
}
vector<vi>mn(n+1,vi(n+1,(int)1e9));
vector<vi>mx(n+1,vi(n+1));
mn[1][1] = mx[1][1] = a[1][1];
vector<int>psa(2*n+5);
for(int i = 1; i<=n; i++){
for(int j = 1; j<=n; j++){
if(i == 1 && j == 1){
}
else{
mn[i][j] = min(mn[i][j-1],mn[i-1][j]) + a[i][j];
mx[i][j] = max(mx[i][j-1],mx[i-1][j]) + a[i][j];
}
psa[mn[i][j]]++;
psa[mx[i][j]+1]--;
}
}
for(int i = 0; i<2*n-1; i++){
if(i)
psa[i] += psa[i-1];
cout << psa[i] << '\n';
}
return 0;
}
提出情報
| 提出日時 |
|
| 問題 |
H - コイン拾い |
| ユーザ |
kevinyang |
| 言語 |
C++23 (GCC 15.2.0) |
| 得点 |
4 |
| コード長 |
1265 Byte |
| 結果 |
AC |
| 実行時間 |
243 ms |
| メモリ |
379132 KiB |
ジャッジ結果
| セット名 |
Sample |
Subtask |
All |
| 得点 / 配点 |
0 / 0 |
2 / 2 |
2 / 2 |
| 結果 |
|
|
|
| セット名 |
テストケース |
| Sample |
00_sample_00.txt, 00_sample_01.txt |
| Subtask |
00_sample_00.txt, 00_sample_01.txt, 01_subtask_00.txt, 01_subtask_01.txt, 01_subtask_02.txt |
| All |
00_sample_00.txt, 00_sample_01.txt, 01_subtask_00.txt, 01_subtask_01.txt, 01_subtask_02.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_00.txt |
AC |
1 ms |
3392 KiB |
| 00_sample_01.txt |
AC |
1 ms |
3444 KiB |
| 01_subtask_00.txt |
AC |
31 ms |
56356 KiB |
| 01_subtask_01.txt |
AC |
30 ms |
56392 KiB |
| 01_subtask_02.txt |
AC |
30 ms |
56316 KiB |
| 02_random_00.txt |
AC |
106 ms |
173904 KiB |
| 02_random_01.txt |
AC |
238 ms |
379132 KiB |
| 02_random_02.txt |
AC |
243 ms |
379040 KiB |