| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1368703 | chikien2009 | Naan (JOI19_naan) | C++20 | 0 ms | 344 KiB |
#include <bits/stdc++.h>
using namespace std;
void setup()
{
#ifndef ONLINE_JUDGE
freopen("test.inp", "r", stdin);
freopen("test.out", "w", stdout);
#endif
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
int n, m, id;
long long sum, cur, temp;
long long v[2000][2000];
pair<long long, long long> f[2000][2000];
bool removed[2000];
vector<int> res;
int main()
{
setup();
cin >> n >> m;
for (int i = 0; i < n; ++i)
{
sum = cur = 0;
for (int j = 0; j < m; ++j)
{
cin >> v[i][j];
sum += v[i][j];
v[i][j] *= n;
}
for (int j = 0, k = 0; j < n; ++j)
{
temp = sum;
while (temp && k < m)
{
if (temp > v[i][k] - cur)
{
temp -= v[i][k] - cur;
cur = 0;
k++;
}
else
{
cur += temp;
temp = 0;
}
}
f[i][j] = {v[i][k] * k + cur, v[i][k]};
}
}
for (int i = 0; i < n - 1; ++i)
{
id = -1;
for (int j = 0; j < n; ++j)
{
if (!removed[j])
{
if (id == -1 || (double)f[id][i].first / (double)f[id][i].second >
(double)f[j][i].first / (double)f[j][i].second)
{
id = j;
}
}
}
removed[id] = true;
res.push_back(id + 1);
cout << f[id][i].first << " " << f[id][i].second << "\n";
}
for (int i = 0; i < n; ++i)
{
if (!removed[i])
{
res.push_back(i + 1);
}
}
for (auto & i : res)
{
cout << i << " ";
}
return 0;
}Compilation message (stderr)
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
