提出 #71855656
ソースコード 拡げる
#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
#define int long long
#define ALL(x) (x).begin(), (x).end()
#define MAX(x) *max_element(ALL(x))
#define MIN(x) *min_element(ALL(x))
typedef pair<int, int> PI;
typedef pair<int, pair<int, int>> PII;
static const int INF = 1010000000000000017LL;
static const double eps = 1e-12;
static const double pi = 3.14159265358979323846;
static const int dx[4] = {1, -1, 0, 0};
static const int dy[4] = {0, 0, 1, -1};
static const int ddx[8] = {1, -1, 0, 0, 1, 1, -1, -1};
static const int ddy[8] = {0, 0, 1, -1, 1, -1, 1, -1};
template <class T>
inline bool chmin(T& a, T b) {
if (a > b) {
a = b;
return true;
}
return false;
}
template <class T>
inline bool chmax(T& a, T b) {
if (a < b) {
a = b;
return true;
}
return false;
}
const int mod = 998244353;
int N, M;
signed main() {
cin >> N >> M;
vector<int> A(N), B(M);
for (int i = 0; i < N; ++i) {
cin >> A[i];
}
for (int i = 0; i < M; ++i) {
cin >> B[i];
}
sort(A.begin(), A.end());
sort(B.begin(), B.end());
vector<int> S(M + 1, 0);
for (int i = 0; i < M; ++i) {
S[i + 1] = S[i] + B[i];
}
int ans = 0;
for (int i = 0; i < N; ++i) {
auto itr = upper_bound(B.begin(), B.end(), A[i]);
int idx = itr - B.begin();
// cout << "idx: " << idx << endl;
// 左項
ans -= S[idx] - idx * A[i];
ans = (ans + mod) % mod;
// cout << "ans: " << ans << endl;
// 右項
ans -= (M - idx) * A[i] - (S[M] - S[idx]);
ans = (ans + mod) % mod;
// cout << "ans: " << ans << endl;
}
cout << ans << endl;
}
提出情報
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
400 / 400 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00-sample-01.txt, 00-sample-02.txt |
| All |
00-sample-01.txt, 00-sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00-sample-01.txt |
AC |
1 ms |
3600 KiB |
| 00-sample-02.txt |
AC |
1 ms |
3604 KiB |
| 01-01.txt |
AC |
5 ms |
3592 KiB |
| 01-02.txt |
AC |
4 ms |
3740 KiB |
| 01-03.txt |
AC |
5 ms |
3876 KiB |
| 01-04.txt |
AC |
5 ms |
3732 KiB |
| 01-05.txt |
AC |
5 ms |
3760 KiB |
| 01-06.txt |
AC |
4 ms |
3668 KiB |
| 01-07.txt |
AC |
6 ms |
3720 KiB |
| 01-08.txt |
AC |
5 ms |
3552 KiB |
| 01-09.txt |
AC |
5 ms |
3680 KiB |
| 01-10.txt |
AC |
4 ms |
3680 KiB |
| 01-11.txt |
AC |
4 ms |
3592 KiB |
| 01-12.txt |
AC |
4 ms |
3732 KiB |
| 01-13.txt |
AC |
5 ms |
3628 KiB |
| 01-14.txt |
AC |
5 ms |
3740 KiB |
| 01-15.txt |
AC |
1 ms |
3600 KiB |
| 01-16.txt |
AC |
1 ms |
3652 KiB |
| 01-17.txt |
AC |
157 ms |
9060 KiB |
| 01-18.txt |
AC |
164 ms |
8276 KiB |
| 01-19.txt |
AC |
101 ms |
8036 KiB |
| 01-20.txt |
AC |
102 ms |
5700 KiB |
| 01-21.txt |
AC |
210 ms |
10380 KiB |
| 01-22.txt |
AC |
177 ms |
10344 KiB |
| 01-23.txt |
AC |
176 ms |
10344 KiB |
| 01-24.txt |
AC |
199 ms |
10340 KiB |
| 01-25.txt |
AC |
196 ms |
10336 KiB |
| 01-26.txt |
AC |
157 ms |
10320 KiB |
| 01-27.txt |
AC |
144 ms |
8084 KiB |
| 01-28.txt |
AC |
153 ms |
8724 KiB |
| 01-29.txt |
AC |
128 ms |
8524 KiB |
| 01-30.txt |
AC |
161 ms |
9320 KiB |