Submission #283165

#TimeUsernameProblemLanguageResultExecution timeMemory
283165cgiosy새로운 문제 (COCI19_akvizna)C++17
130 / 130
56 ms2424 KiB
#pragma GCC optimize("Ofast") #include <cstdio> struct fn { double x; int j, c; }; int cr(fn& a, fn& b) { return a.x!=b.x ? (a.j-b.j)/(a.x-b.x) : 0; } int main() { int N, K; scanf("%d%d", &N, &K); double l=0, r=1+1e-10; int C[N+1]; fn D[N+1]; D[0]={}; while(1) { bool last=r-l<1e-10; auto m=(l+r)/2; int k=0, s=0, e=0; C[0]=N; for(int i=1; i<=N && (last || k<=K); i++) { while(C[s]<i) s++; fn t{D[s].x+double(i-D[s].j)/i-m, i, k=D[s].c+1}; while(s<e && C[e-1]>=(C[e]=cr(D[e], t))) e--; if(s==e) C[e]=cr(D[e], t); D[++e]=t, C[e]=N; } if(k==K || last) return!printf("%.9lf", D[e].x+K*m); (k>K?l:r)=m; } }

Compilation message (stderr)

akvizna.cpp: In function 'int main()':
akvizna.cpp:10:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   10 |  scanf("%d%d", &N, &K);
      |  ~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...