Untitled
unknown
plain_text
2 years ago
1.3 kB
7
Indexable
#include<iostream>
using namespace std;
int ans;
int used[3];
int duration[3], p[3];
int a[50] , l[50] ;
int n;
int qt[3]; // thoi gian bat dau cua quang cao
void calculate(){
// tinh toan diem so , luu lai gia tri max
int point = 0;
for( int i = 0 ; i < n ; i++){
int maxPoint = 0;
for( int j = 0 ; j < 3 ; j++){
// visitor thu i a[i] l[i]
// quang cao duration[j] p[j]
if(qt[j] >= a[i] && qt[j] + duration[j] <= l[i]){
maxPoint = maxPoint > p[j] ? maxPoint : p[j];
}
}
point += maxPoint;
}
ans = ans > point ? ans : point;
}
void Try(int t , int c){
if( c== 3){
calculate();
return;
}
if( t > 50) return;
for( int i = 0 ; i < 3; i++){
if( used[i] == 0){
used[i] = 1;
qt[i] = t;
Try(t+ duration[i] , c+1);
used[i] = 0;
}
}
Try( t+1,c);
}
int main(){
// freopen("input.txt","r",stdin);
int T;
cin >> T;
for( int tc = 1 ; tc <= T ;tc++){
cin >> n;
for( int j = 0 ; j < 3; j++){
cin >> duration[j];
}
for( int j = 0 ; j < 3 ; j++){
cin >> p[j];
}
for( int i = 0 ; i < n ; i++){
cin >> a[i];
int d;
cin >> d;
l[i] = a[i] + d;
}
ans = 0;
Try(1,0);
cout << "Case #" << tc << endl << ans << endl;
}
return 0;
}Editor is loading...