제출 #422288

#제출 시각아이디문제언어결과실행 시간메모리
422288dreezy휴가 (IOI14_holiday)C++17
0 / 100
5089 ms1484 KiB
#include <bits/stdc++.h>
#include"holiday.h"
using namespace std;
#define ll long long


/***********************/


long long int findMaxAttraction(int n, int start, int d, int attraction[]) {
	ll ans = 0;
	for(int mask = 1; mask< (1<<n) ; mask++){
		
		ll posans = 0;
		int smallest = 0;
		int largest = 0;
		int numbits = 0;
		for(int i =0; i<n; i++){
			if(mask & (1<<i)){
				numbits++;
				smallest = min(i, smallest);
				largest = i;
				posans += attraction[i];
			}
		}
		
		int dist = INT_MAX;
		
		if(smallest <= start){
			if(largest < start){
				dist = start - smallest;
			}
			else{
				dist = start - smallest + largest - smallest;
			}
		}
		if (largest > start){
			if(smallest > start){
				dist = min(dist, largest - start);
			}
			else{
				dist = min(dist, largest - smallest + largest - start);
			}
		}
		
		//cout << smalle
		if(dist + numbits <= d){
			ans = max(ans, posans);
		}
	}

	
	
    return ans;
}
/***********************/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...