1 条题解
-
0
C :
#include<stdio.h> int main() { int n,p1,p2,p3,t1,t2,l[101],r[101],i,s,k; while(~scanf("%d%d%d%d%d%d",&n,&p1,&p2,&p3,&t1,&t2)) {s=0; for(i=1;i<=n;i++) scanf("%d%d",&l[i],&r[i]); for(i=1;i<=n;i++) s+=p1*(r[i]-l[i]); for(i=2;i<=n;i++) { k=l[i]-r[i-1]; if(k>t1) { s+=t1*p1; if((k-t1)>t2) { s+=t2*p2; s+=(k-t2-t1)*p3; } else s+=(k-t1)*p2; } else s+=k*p1; } printf("%d\n",s); } return 0; }
C++ :
#include<cstdio> #include<cstdlib> #include<cstring> #include<cctype> #include<cmath> #include<algorithm> #include<iostream> #include<string> #include<vector> #include<bitset> #include<queue> #include<stack> #include<list> #include<map> #include<set> #define TEST #define LL long long #define Mt(f, x) memset(f, x, sizeof(f)); #define rep(i, s, e) for(int i = (s); i <= (e); ++i) #ifdef TEST #define See(a) cout << #a << " = " << a << endl; #define See2(a, b) cout << #a << " = " << a << ' ' << #b << " = " << b << endl; #define debug(a, s, e) rep(_i, s, e) {cout << a[_i] << ' ';} cout << endl; #define debug2(a, s, e, ss, ee) rep(i_, s, e) {debug(a[i_], ss, ee)} #else #define See(a) #define See2(a, b) #define debug(a, s, e) #define debug2(a, s, e, ss, ee) #endif // TEST const int MAX = 2e9; const int MIN = -2e9; const double eps = 1e-8; const double PI = acos(-1.0); using namespace std; const int N = 105; int st[N], ed[N]; int main() { int n, p1, p2, p3, t1, t2; // freopen("in.txt", "r", stdin); // freopen("out.txt", "w", stdout); while(~scanf("%d%d%d%d%d%d", &n, &p1, &p2, &p3, &t1, &t2)) { int ans = 0; for(int i = 0; i < n; ++i) { scanf("%d%d", &st[i], &ed[i]); ans += (ed[i] - st[i]) * p1; } for(int i = 1; i < n; ++i) { int t = st[i] - ed[i - 1]; if(t < t1) { ans += t * p1; } else if(t < t1 + t2) { ans += t1 * p1 + (t - t1) * p2; } else { ans += t1 * p1 + t2 * p2 + (t - (t1 + t2)) * p3; } } printf("%d\n", ans); } return 0; }
- 1
信息
- ID
- 843
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者