제출 #1305311

#제출 시각아이디문제언어결과실행 시간메모리
1305311thelegendary08Roller Coaster Railroad (IOI16_railroad)C++17
34 / 100
42 ms9032 KiB
#include "railroad.h"
#include<bits/stdc++.h>
#define int long long 
#define vi vector<int>
#define pb push_back
#define eb emplace_back
#define f0r(i,n) for(int i = 0; i < n; i++)
#define FOR(i,k,n) for(int i = k; i < n; i++)
#define vvi vector<vi>
#define pii pair<int,int>
#define vpii vector<pii>
#define dout(x); cout<<x<<' '<<#x<<endl;
#define dout2(x,y); cout<<x<<' '<<#x<<' '<<y<<' '<<#y<<endl;
#define vout(v); for(auto u : v)cout<<u<<' '; cout<<endl;
using namespace std;
long long plan_roller_coaster(std::vector<signed> s, std::vector<signed> t) {
    int n = s.size(); vpii w(n); f0r(i,n)w[i].first=s[i],w[i].second=t[i]; vvi dp(n, vi((1LL << n), 4e18)); f0r(i,n)dp[i][(1LL << i)]=0;
    FOR(i,1,(1LL << n)){
    	if(__builtin_popcount(i)==1)continue; 
    	f0r(j,n)if((1LL<<j)&i){
    		f0r(k,n)if((1<<k)&i){
    			dp[j][i] = min(dp[j][i], dp[k][i - (1<<j)] + max(0LL, w[k].second - w[j].first));
    		}
    	}
    }
    int ans = 4e18; f0r(i,n){
    	ans = min(ans, dp[i][(1<<n)-1]);
    }
    return ans;
}

컴파일 시 표준 에러 (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...