# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
203666 | ics0503 | Naan (JOI19_naan) | C++17 | 7 ms | 508 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<stdio.h>
#include<set>
#include<vector>
using namespace std;
set<long long >people;
struct xy { int x; double y; }L[2121];
double need[2121];
long long v[2121][2121], S[2121][2121];
long long gcd(long long a, long long b) {
if (b == 0)return a;
return gcd(b, a%b);
}
vector<int>ans;
int main() {
long long n, l, i, j; scanf("%lld%lld", &n, &l);
for (i = 1; i <= n; i++)people.insert(i);
bool flag = 1;
for (i = 1; i <= n; i++) {
for (j = 1; j <= l; j++)scanf("%lld", &v[i][j]);
long long gg = v[i][1];
for (j = 1; j <= l; j++)gg = gcd(gg, v[i][j]);
for (j = 1; j <= l; j++) {
v[i][j] /= gg; S[i][j] = S[i][j - 1] + v[i][j];
need[i] += v[i][j];
if (v[i][j] != v[1][j])flag = 0;
}
need[i] /= n;
}
if (flag) {
for (i = 1; i <= n-1; i++) {
printf("%lld %lld\n", i*l, n);
}
for (i = 1; i <= n; i++)printf("%d ", i);
puts("");
return 0;
}
long long befa = 1;double p = 0;
for (i = 1; i <= n - 1; i++) {
long long mnx = 1e9;double mny; long long mnw;
for (long long who : people) {
if ((double)(1-p) * (double)v[who][befa] > need[who]) {
L[who].x = befa;
L[who].y = p + need[who] / (double)v[who][befa];
}
else {
while ((double)(1 - p) * (double)v[who][befa] + (double)(S[who][L[who].x] - S[who][befa]) <= need[who]) {
L[who].x++;
}
L[who].y = (double)(need[who] - (double)(1 - p) * (double)v[who][befa] - (double)(S[who][L[who].x - 1] - S[who][befa])) / (double)v[who][L[who].x];
}
if (mnx > L[who].x || (mnx == L[who].x && mny > L[who].y)) {
mnx = L[who].x;
mny = L[who].y;
mnw = who;
}
}
befa = L[mnw].x, p = L[mnw].y + 1e-9;
long long gj = 1e9;
long long g = befa*gj + p*gj;
printf("%lld %lld\n", g, gj);
people.erase(mnw);
ans.push_back(mnw);
L[mnw] = { 0, 0 };
}
for (int i = 0; i < ans.size(); i++)printf("%d ", ans[i]);
printf("%lld", *people.begin());
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |