제출 #1314109

#제출 시각아이디문제언어결과실행 시간메모리
1314109activedeltorreRoller Coaster Railroad (IOI16_railroad)C++20
34 / 100
92 ms12728 KiB
#include "railroad.h" long long dp[70000][18]; using namespace std; #include<vector> #include<iostream> #include<set> long long vmax=1e12; set<pair<int,int> >st; long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) { int n = (int) s.size(); if(n<=16) { int maxmask=(1<<n)-1; for(int i=0;i<=maxmask;i++) { for(int j=0;j<n;j++) { dp[i][j]=vmax; } } for(int i=0;i<n;i++) { dp[(1<<i)][i]=0; } for(int i=1;i<maxmask;i++) { for(int last=0;last<n;last++) { if(((1<<last)&i)!=0) { for(int j=0;j<n;j++) { if(((1<<j)&i)==0) { long long cost=max(0,t[last]-s[j]); dp[i^(1<<j)][j]=min(dp[i^(1<<j)][j],dp[i][last]+cost); } } } } } long long best=vmax; for(int last=0;last<n;last++) { best=min(best,dp[maxmask][last]); } return best; } else { long long last=vmax; for(int i=0;i<n;i++) { st.insert({s[i],t[i]}); } for(int i=1;i<=n;i++) { auto it=st.upper_bound({last+1,vmax}); if(it==st.begin()) { return 1; } it--; last=it->second; st.erase(it); } return 0; } }

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

railroad.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
railroad_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...