제출 #981033

#제출 시각아이디문제언어결과실행 시간메모리
981033vjudge1추월 (IOI23_overtaking)C++17
39 / 100
3563 ms528 KiB
#include <bits/stdc++.h> #define rep(a,b,c) for(int a=b; a<c; a++) #define repr(a,b,c) for(int a=b-1; a>c-1; a--) #define repa(a,b) for(auto a:b) #define fi first #define se second #define pii pair<int, int> #define pll pair<ll, ll> #define ll long long #define pb push_back using namespace std; const int lim=2e5+5; struct lines{ ll m, b; bool last; ll eval(ll x){ return m*x+b; } bool operator<(lines line)const{ if(b!=line.b) return b<line.b; else return m<line.m; } }; vector<lines> bus, bus2; vector<ll> ss; ll n, m; void init(int L, int N, std::vector<long long> T, std::vector<int> W, int X, int M, std::vector<int> S){ ss.clear(); bus2.clear(); rep(i,0,N) bus2.pb({W[i],T[i],0}); rep(i,0,M) ss.pb(S[i]); bus2.pb({X,0,1}); n=N; m=M; } long long arrival_time(long long Y){ ll k=0, dis; bus.clear(); rep(i,0,n+1) bus.pb(bus2[i]); bus[n].b=Y; repa(e,ss){ sort(bus.begin(),bus.end()); dis=0; rep(i,0,n+1){ bus[i].b=max(dis,bus[i].eval(e-k)); dis=max(dis,bus[i].b); } k=e; } rep(i,0,n+1) if(bus[i].last) return bus[i].b; }

컴파일 시 표준 에러 (stderr) 메시지

overtaking.cpp: In function 'long long int arrival_time(long long int)':
overtaking.cpp:57:1: warning: control reaches end of non-void function [-Wreturn-type]
   57 | }
      | ^
#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...