卬高杯
提出id | 提出時刻 | ユーザー名 | 問題 | 言語 | 判定状況 | 判定 | 実行時間 |
---|---|---|---|---|---|---|---|
114859 | 2023-10-24 09:07:51 | euommo | I | cpp | 25/25 | AC | 189 |
#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 3 sample4.txt AC 5 sample5.txt AC 6 case1.txt AC 6 case2.txt AC 6 case3.txt AC 7 case4.txt AC 7 case5.txt AC 7 case6.txt AC 113 case7.txt AC 74 case8.txt AC 87 case9.txt AC 38 case10.txt AC 38 case11.txt AC 152 case12.txt AC 188 case13.txt AC 136 case14.txt AC 172 case15.txt AC 155 case16.txt AC 106 case17.txt AC 189 case18.txt AC 105 case19.txt AC 169 case20.txt AC 104 189 AC189 AC