Submission #213724


Source Code Expand

//include
//------------------------------------------
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <ctime>
#include <queue>
#include <climits>
#include <cassert>
using namespace std;

//conversion
//------------------------------------------
inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}

//math
//-------------------------------------------
template<class T> inline T sqr(T x) {return x*x;}

//typedef
//------------------------------------------
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<string> VS;
typedef pair<int, int> pii;
typedef long long ll;

//container util
//------------------------------------------
#define ALL(a)  (a).begin(),(a).end()
#define RALL(a) (a).rbegin(), (a).rend()
#define pb push_back
#define mp make_pair
#define SZ(a) int((a).size())
#define EACH(i,c) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i)
#define EXIST(s,e) ((s).find(e)!=(s).end())
#define SORT(c) sort((c).begin(),(c).end())
#define fi first
#define se second

//repetition
//------------------------------------------
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define rep(i,n)  FOR(i,0,n)
#define foreach(c,itr) for(__typeof((c).begin()) itr=(c).begin();itr!=(c).end();itr++)

//constant
//--------------------------------------------
const double EPS = 1e-10;
const double PI  = acos(-1.0);
const int dx[] = {-1,1,0,0};
const int dy[] = {0,0,1,-1};

//clear memory
#define CLR(a) memset((a), 0 ,sizeof(a))

//debug
#define dump(x)  cerr << #x << " = " << (x) << endl;
#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;

ll n, h;
ll a, b, c, d, e;
ll ans = LLONG_MAX;
ll low, high, mid;

int main(){
    cin >> n >> h >> a >> b >> c >> d >> e;

    for(int i = 0; i <= n; ++i){
	if(b * (ll)i + h - e * (n - i) > 0){
	    ans = min(ans, a * i);
	    continue;
	}

	low = 0; high = n - i;
	while(high - low > 1){
	    mid = (high + low) / 2;
	    if(h + b * i + d * mid - e * (n - i - mid) > 0) high = mid;
	    else low = mid;
	}
	ans = min(ans, a * i + c * high);
    }
    cout << ans << endl;

    return 0;
}

Submission Info

Submission Time
Task C - 節制
User satashun
Language C++ (G++ 4.6.4)
Score 101
Code Size 2643 Byte
Status AC
Exec Time 73 ms
Memory 928 KB

Judge Result

Set Name Subtask1 Subtask2 Subtask3 Subtask4
Score / Max Score 10 / 10 30 / 30 60 / 60 1 / 1
Status
AC × 25
AC × 25
AC × 86
AC × 99
Set Name Test Cases
Subtask1 sample_1.txt, sample_2.txt, sample_3.txt, 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt
Subtask2 sample_1.txt, sample_2.txt, sample_3.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt
Subtask3 sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt, 03_010.txt, 03_011.txt, 03_012.txt, 03_020.txt, 03_021.txt, 03_022.txt, 03_100.txt, 03_101.txt, 03_102.txt, 03_110.txt, 03_111.txt, 03_112.txt, 03_200.txt, 03_201.txt, 03_202.txt, 03_220.txt, 03_221.txt, 03_222.txt, 03_random01.txt, 03_random02.txt, 03_random03.txt, 03_random04.txt, 03_random05.txt, 03_random06.txt, 03_random07.txt, 03_random08.txt, 03_random09.txt, 03_random10.txt, 03_random11.txt, 03_random12.txt, 03_random13.txt, 03_random14.txt, 03_random15.txt, 03_random16.txt, 03_random17.txt, 03_random18.txt, 03_random19.txt, 03_random20.txt
Subtask4 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt, 03_010.txt, 03_011.txt, 03_012.txt, 03_020.txt, 03_021.txt, 03_022.txt, 03_100.txt, 03_101.txt, 03_102.txt, 03_110.txt, 03_111.txt, 03_112.txt, 03_200.txt, 03_201.txt, 03_202.txt, 03_220.txt, 03_221.txt, 03_222.txt, 03_random01.txt, 03_random02.txt, 03_random03.txt, 03_random04.txt, 03_random05.txt, 03_random06.txt, 03_random07.txt, 03_random08.txt, 03_random09.txt, 03_random10.txt, 03_random11.txt, 03_random12.txt, 03_random13.txt, 03_random14.txt, 03_random15.txt, 03_random16.txt, 03_random17.txt, 03_random18.txt, 03_random19.txt, 03_random20.txt, 04_010.txt, 04_011.txt, 04_020.txt, 04_021.txt, 04_100.txt, 04_101.txt, 04_110.txt, 04_111.txt, 04_200.txt, 04_201.txt, 04_220.txt, 04_221.txt, 04_random01.txt, 04_random02.txt, 04_random03.txt, 04_random04.txt, 04_random05.txt
Case Name Status Exec Time Memory
01_010.txt AC 21 ms 764 KB
01_011.txt AC 21 ms 804 KB
01_020.txt AC 21 ms 748 KB
01_021.txt AC 21 ms 920 KB
01_100.txt AC 21 ms 800 KB
01_101.txt AC 21 ms 800 KB
01_110.txt AC 21 ms 924 KB
01_111.txt AC 20 ms 796 KB
01_200.txt AC 20 ms 804 KB
01_201.txt AC 21 ms 804 KB
01_220.txt AC 21 ms 804 KB
01_221.txt AC 21 ms 796 KB
01_random01.txt AC 21 ms 804 KB
01_random02.txt AC 21 ms 924 KB
01_random03.txt AC 20 ms 920 KB
01_random04.txt AC 20 ms 796 KB
01_random05.txt AC 21 ms 800 KB
01_random06.txt AC 20 ms 800 KB
01_random07.txt AC 20 ms 924 KB
01_random08.txt AC 20 ms 748 KB
01_random09.txt AC 20 ms 800 KB
01_random10.txt AC 20 ms 800 KB
02_010.txt AC 20 ms 672 KB
02_011.txt AC 19 ms 792 KB
02_020.txt AC 21 ms 672 KB
02_021.txt AC 19 ms 672 KB
02_100.txt AC 19 ms 792 KB
02_101.txt AC 19 ms 672 KB
02_110.txt AC 19 ms 792 KB
02_111.txt AC 19 ms 800 KB
02_200.txt AC 20 ms 796 KB
02_201.txt AC 20 ms 748 KB
02_220.txt AC 20 ms 928 KB
02_221.txt AC 21 ms 928 KB
02_random01.txt AC 20 ms 928 KB
02_random02.txt AC 20 ms 924 KB
02_random03.txt AC 20 ms 672 KB
02_random04.txt AC 20 ms 792 KB
02_random05.txt AC 20 ms 924 KB
02_random06.txt AC 20 ms 916 KB
02_random07.txt AC 20 ms 804 KB
02_random08.txt AC 21 ms 800 KB
02_random09.txt AC 21 ms 924 KB
02_random10.txt AC 20 ms 792 KB
03_010.txt AC 24 ms 760 KB
03_011.txt AC 23 ms 768 KB
03_012.txt AC 19 ms 792 KB
03_020.txt AC 21 ms 732 KB
03_021.txt AC 22 ms 924 KB
03_022.txt AC 20 ms 840 KB
03_100.txt AC 22 ms 924 KB
03_101.txt AC 22 ms 796 KB
03_102.txt AC 22 ms 736 KB
03_110.txt AC 21 ms 676 KB
03_111.txt AC 21 ms 800 KB
03_112.txt AC 21 ms 676 KB
03_200.txt AC 21 ms 924 KB
03_201.txt AC 21 ms 792 KB
03_202.txt AC 22 ms 928 KB
03_220.txt AC 21 ms 800 KB
03_221.txt AC 20 ms 804 KB
03_222.txt AC 21 ms 800 KB
03_random01.txt AC 21 ms 800 KB
03_random02.txt AC 21 ms 800 KB
03_random03.txt AC 21 ms 796 KB
03_random04.txt AC 22 ms 800 KB
03_random05.txt AC 20 ms 924 KB
03_random06.txt AC 21 ms 800 KB
03_random07.txt AC 21 ms 732 KB
03_random08.txt AC 19 ms 804 KB
03_random09.txt AC 21 ms 676 KB
03_random10.txt AC 21 ms 736 KB
03_random11.txt AC 21 ms 796 KB
03_random12.txt AC 22 ms 788 KB
03_random13.txt AC 22 ms 800 KB
03_random14.txt AC 22 ms 800 KB
03_random15.txt AC 22 ms 800 KB
03_random16.txt AC 22 ms 672 KB
03_random17.txt AC 23 ms 804 KB
03_random18.txt AC 21 ms 804 KB
03_random19.txt AC 22 ms 732 KB
03_random20.txt AC 20 ms 920 KB
04_010.txt AC 42 ms 804 KB
04_011.txt AC 70 ms 804 KB
04_020.txt AC 73 ms 732 KB
04_021.txt AC 62 ms 804 KB
04_100.txt AC 55 ms 800 KB
04_101.txt AC 35 ms 800 KB
04_110.txt AC 50 ms 796 KB
04_111.txt AC 24 ms 804 KB
04_200.txt AC 23 ms 804 KB
04_201.txt AC 21 ms 796 KB
04_220.txt AC 37 ms 804 KB
04_221.txt AC 53 ms 780 KB
04_random01.txt AC 22 ms 920 KB
04_random02.txt AC 31 ms 732 KB
04_random03.txt AC 40 ms 792 KB
04_random04.txt AC 28 ms 804 KB
04_random05.txt AC 31 ms 804 KB
sample_1.txt AC 22 ms 804 KB
sample_2.txt AC 19 ms 800 KB
sample_3.txt AC 19 ms 672 KB
sample_4.txt AC 20 ms 796 KB