Submission #763225

#TimeUsernameProblemLanguageResultExecution timeMemory
763225vjudge1Xylophone (JOI18_xylophone)C++14
0 / 100
1 ms208 KiB
#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 (stderr)

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:41:6: warning: 'pos_max' may be used uninitialized in this function [-Wmaybe-uninitialized]
   41 |      if (pos_min>pos_max) {
      |      ^~
xylophone.cpp:41:6: warning: 'pos_min' may be used uninitialized in this function [-Wmaybe-uninitialized]
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...