답안 #538704

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
538704 2022-03-17T14:38:01 Z xuliu Building Bridges (CEOI17_building) C++17
30 / 100
3000 ms 4480 KB
#include <bits/stdc++.h>

using namespace std;

#define ll long long 
#define ld long double 
#define debug if(0)

const ll inf = 1e18 + 4;

int main() {
	ios_base::sync_with_stdio(0); cin.tie(0);
	int n; cin>>n;
	vector<ll> h(n), w(n), wpref(n);
	for(int i=0; i<n; i++) cin>>h[i];
	for(int i=0; i<n; i++) {
		cin>>w[i];
		wpref[i] = (i ? wpref[i-1] : 0) + w[i];
	}
	auto wseg = [&](int a, int b) {
		return wpref[b] - (a ? wpref[a-1] : 0);
	};
	vector<ll> dp(n, inf);
	dp[0] = 0;
	for(int i=1; i<n; i++) {
		for(int j=i-1; j>=0; j--) {
			ll res = dp[j] + (h[i] - h[j])*(h[i] - h[j]);
			if(j+1 != i) res += wseg(j+1, i-1);
			dp[i] = min(dp[i], res);
		}
	}
	cout<<dp[n-1];
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 316 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 324 KB Output is correct
4 Correct 2 ms 340 KB Output is correct
5 Correct 2 ms 328 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3048 ms 4480 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 316 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 324 KB Output is correct
4 Correct 2 ms 340 KB Output is correct
5 Correct 2 ms 328 KB Output is correct
6 Execution timed out 3048 ms 4480 KB Time limit exceeded
7 Halted 0 ms 0 KB -