Untitled
unknown
plain_text
2 years ago
1.3 kB
6
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...