卬高杯
提出id | 提出時刻 | ユーザー名 | 問題 | 言語 | 判定状況 | 判定 | 実行時間 |
---|---|---|---|---|---|---|---|
114861 | 2023-10-24 09:10:48 | euommo | I | cpp | 25/25 | AC | 192 |
#include <bits/stdc++.h>
int main() {
std::cin.tie(0)->sync_with_stdio(0);
// std::cin.exceptions(std::cin.failbit);
const int MOD = 127237991;
int N;
std::cin >> N;
std::vector<int> A(N+1), B(N+1);
std::vector<int> dp(N+1), sc(N+1);
for (int i = 1; i <= N; ++i)
std::cin >> A[i];
std::sort(A.begin(), A.end());
std::fill(sc.begin() + 1, sc.end(), 1);
for (int _ = 0; _ < 4; ++_) {
for (int i = 1; i <= N; ++i)
std::cin >> B[i];
std::sort(B.begin(), B.end());
int sum = 0;
for (int i = 1, j = 0; i <= N; ++i) {
while (j < N and A[j+1] < B[i]) {
j += 1;
sum += sc[j];
if (sum >= MOD) sum -= MOD;
}
dp[i] = sum;
}
std::swap(A, B);
std::swap(dp, sc);
}
int ans = 0;
for (int i = 1; i <= N; ++i) {
ans += sc[i];
if (ans >= MOD) ans -= MOD;
}
std::cout << ans << '\n';
return 0;
}
sample1.txt AC 2 sample2.txt AC 2 sample3.txt AC 4 sample4.txt AC 7 sample5.txt AC 7 case1.txt AC 7 case2.txt AC 7 case3.txt AC 7 case4.txt AC 7 case5.txt AC 7 case6.txt AC 112 case7.txt AC 73 case8.txt AC 88 case9.txt AC 38 case10.txt AC 40 case11.txt AC 153 case12.txt AC 191 case13.txt AC 138 case14.txt AC 176 case15.txt AC 156 case16.txt AC 108 case17.txt AC 192 case18.txt AC 105 case19.txt AC 170 case20.txt AC 104 192 AC192 AC