QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#657072 | #7622. Yet Another Coffee | wdbl857 | WA | 1ms | 7912kb | C++20 | 1.9kb | 2024-10-19 14:08:54 | 2024-10-19 14:09:04 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define ios ios::sync_with_stdio(0), cin.tie(0)
#define int long long
#define ll long long
#define int128 __int128
#define ull unsigned long long
#define endl "\n"
#define pi acos(-1)
#define pii pair<int, int>
const double eps = 1e-6;
const int N = 1e6 + 10, M = 1010, INF = 0x3f3f3f3f;
const int mod = 998244353;
int a[N];
struct node
{
int r, w;
} s[N];
bool cmd(node x, node y)
{
return x.r < y.r;
}
int pr[N];
void solve()
{
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 0; i <= m; i++)
pr[i] = 0;
for (int i = 1; i <= m; i++)
{
int r, w;
cin >> r >> w;
s[i] = {r, w};
}
sort(s + 1, s + m + 1, cmd);
for (int i = 1; i <= m; i++)
pr[i] = pr[i - 1] + s[i].w;
int mi = 1e18;
int u = 0;
for (int i = 1; i <= n; i++)
{
int l = 1, r = m;
while (l < r)
{
int mid = l + r + 1 >> 1;
if (s[mid].r >= i)
r = mid - 1;
else
l = mid;
}
int res = a[i] - (pr[m] - pr[l - 1]);
if (res < mi)
{
mi = res;
u = i;
}
else if (mi == res)
{
if (a[u] < a[i])
u = i;
}
}
vector<int> v;
for (int i = 1; i <= n; i++)
{
if (i != u)
v.push_back(a[i]);
}
sort(v.begin(), v.end());
cout << mi << ' ';
for (auto i : v)
{
mi += i;
cout << mi << ' ';
}
cout << '\n';
}
signed main()
{
ios;
int T = 1;
cin >> T;
// cout << fixed << setprecision(8);
for (int i = 1; i <= T; i++)
{
// cout << "Case " << i << ": ";
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 7912kb
input:
5 10 14 17 37 59 65 53 73 68 177 160 111 10 177 5 193 2 30 3 63 2 339 3 263 5 178 2 190 9 23 10 328 10 200 9 8 3 391 6 230 12 9 152 306 86 88 324 59 18 14 42 260 304 55 3 50 2 170 1 252 7 811 1 713 7 215 10 201 4 926 8 319 19 20 182 74 180 201 326 243 195 31 170 263 284 233 48 166 272 281 179 116 31...
output:
-2596 -2559 -2506 -2447 -2382 -2314 -2241 -2130 -1970 -1793 -3505 -3491 -3473 -3431 -3376 -3317 -3231 -3143 -2883 -2579 -2273 -1949 -6635 -6604 -6556 -6440 -6274 -6104 -5925 -5745 -5563 -5368 -5167 -4934 -4691 -4428 -4156 -3875 -3591 -3272 -2946 -3219 -2987 -2572 -2140 -1707 -1238 -768 -274 243 1...
result:
wrong answer 23rd numbers differ - expected: '-6527', found: '-6635'