1 条题解
-
0
C++ :
#include<bits/stdc++.h> using namespace std; const int MAXN = 1e6 + 10; int n, A, B, T; int a[MAXN]; long long water(int &w, int W, int x) { long long cnt = ceil (1.0 * (x - w) / W); w += cnt * W - x; return x + cnt * T; } int main() { cin >> n >> A >> B >> T; for(int i = 1; i <= n; ++i) cin >> a[i]; int l = 1, r = n, wl = A, wr = B; long long tl = 0, tr = 0; while(l <= r) { if(tl <= tr) tl += water(wl, A, a[l++]); else tr += water(wr, B, a[r--]); } cout << max(tl, tr); return 0; }
- 1
信息
- ID
- 4
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者