# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
763225 | 2023-06-22T06:57:56 Z | vjudge1 | Xylophone (JOI18_xylophone) | C++14 | 1 ms | 208 KB |
#include"xylophone.h" #include<bits/stdc++.h> typedef long long ll; using namespace std; const int maxn=200005; int n; int a[maxn]; void solve(int n) { a[1]=0; a[2]=query(1,2); for (int i=3; i<=n; i++) { int x=query(1,i); int y=query(i-1,i); if (x!=y+abs(a[i-1]-a[i-2]) && a[i-2]>a[i-1]) { a[i]=a[i-1]+y; } else if (x==y+abs(a[i-1]-a[i-2]) && a[i-2]<a[i-1]) { a[i]=a[i-1]+y; } else { a[i]=a[i-1]-y; } } int minn=1e9; int mann=-1e9; for (int i=1; i<=n; i++) { minn=min(minn,a[i]); mann=max(mann,a[i]); } int pos_min; int pos_max; for (int i=1; i<=n; i++) { if (a[i]==minn) { pos_min=i; } if (a[i]==mann) { pos_max=i; } } if (pos_min>pos_max) { for (int i=1; i<=n; i++) { a[i]*=-1; minn*=-1; mann*=-1; } } for (int i=1; i<=n; i++) { answer(i,a[i]-minn+1); } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 208 KB | Output is correct |
2 | Correct | 0 ms | 208 KB | Output is correct |
3 | Incorrect | 1 ms | 208 KB | Wrong Answer [4] |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 208 KB | Output is correct |
2 | Correct | 0 ms | 208 KB | Output is correct |
3 | Incorrect | 1 ms | 208 KB | Wrong Answer [4] |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 208 KB | Output is correct |
2 | Correct | 0 ms | 208 KB | Output is correct |
3 | Incorrect | 1 ms | 208 KB | Wrong Answer [4] |
4 | Halted | 0 ms | 0 KB | - |