제출 #506109

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
5061092022-01-11 15:49:07ryangohcaBitaro, who Leaps through Time (JOI19_timeleap)C++17
100 / 100
744 ms91032 KiB
#include <bits/stdc++.h>
#define pii pair<int, int>
#define ti3 tuple<int, int, int>
#define ti4 tuple<int, int, int, int>
#define int long long
// lalalalalalala, you flood into me, slowly from over the horizon ~ Seunghee, The Fifth Season (SSFWL)
using namespace std;
struct dat{
int lTime, rTime, timeUsed, powers;
dat(): lTime(0), rTime(0), timeUsed(0), powers(0){}
dat(int a, int b, int c, int d): lTime(a), rTime(b), timeUsed(c), powers(d){}
dat operator +(const dat &oth){
dat ans;
ans.timeUsed = timeUsed + oth.timeUsed;
ans.powers = powers + oth.powers;
int lrch = lTime + timeUsed, rrch = rTime + timeUsed;
if (max(lrch, oth.lTime) <= min(rrch, oth.rTime)){
// in some interval on left node, we can reach the right node on time.
ans.lTime = max(lrch, oth.lTime) - timeUsed;
ans.rTime = min(rrch, oth.rTime) - timeUsed;
} else if (oth.lTime > rrch){
// right node opens too late, need to wait
// better for interval to start as late as possible, bcos waiting better than using powers
ans.lTime = rTime;
ans.rTime = rTime;
ans.timeUsed += oth.lTime - rrch;
} else {
// right node closes too early, need to use powers
// better for interval to start as early as possible to use less powers
ans.powers += lrch - oth.rTime;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

timeleap.cpp:73:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   73 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...