Submission #556891

#TimeUsernameProblemLanguageResultExecution timeMemory
556891hibikiJust Long Neckties (JOI20_ho_t1)C++11
100 / 100
120 ms10824 KiB
#include<bits/stdc++.h> using namespace std; #define PB push_back #define F first #define S second int n; int fl[200200],fr[200200],ans[200200]; vector<int> od; vector<pair<int,int> > nw; int main() { scanf("%d",&n); od.resize(n); nw.resize(n+1); for(int i=0;i<n+1;i++) scanf("%d",&nw[i].F),nw[i].S=i+1; for(int i=0;i<n;i++) scanf("%d",&od[i]); sort(nw.begin(),nw.end()); sort(od.begin(),od.end()); for(int i=0;i<n;i++) { fl[i]=max(nw[i].F-od[i],0); if(i) fl[i]=max(fl[i],fl[i-1]); } ans[nw[n].S]=fl[n-1]; for(int i=n-1;i>=0;i--) { fr[i]=max(nw[i+1].F-od[i],0); if(i<n-1) fr[i]=max(fr[i],fr[i+1]); if(i) ans[nw[i].S]=max(fl[i-1],fr[i]); } ans[nw[0].S]=fr[0]; for(int i=1;i<=n+1;i++) printf("%d ",ans[i]); printf("\n"); return 0; }

Compilation message (stderr)

ho_t1.cpp: In function 'int main()':
ho_t1.cpp:15:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     scanf("%d",&n);
      |     ~~~~~^~~~~~~~~
ho_t1.cpp:20:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |         scanf("%d",&nw[i].F),nw[i].S=i+1;
      |         ~~~~~^~~~~~~~~~~~~~~
ho_t1.cpp:22:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   22 |         scanf("%d",&od[i]);
      |         ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...