CF1204B Mislove Has Lost an Array


思路

最小就是达到下限之后其他全是1 , 最大就是达到上限后全是最大的那个


代码

#include <bits/stdc++.h>

using namespace std ;
int n , l , r ;
int minn = 1, maxx = 1;
int main () {
	cin >> n >> l >> r ;
	for(int i = 1 ; i < l ; i ++) {
		minn *=2 ;
	}
	int rest = 1 , ans = 0 , tim = 1 ;
	for(int i = 1 ; i < l ; i ++) {
		ans += tim*2*i ;
	}
	int i = 0 ;ans = 0 ;
	for(int i = 1 ; i <= n ; i ++) {
		if(i <= l) {
//			cout << rest<< " " ;
			ans += rest ;
//			cout << ans<<"*" ;
			rest *= 2 ;
		}else {
//			cout << "1 " ;
			ans += 1 ;
		}
	}
	cout << ans << " " ;
	ans = 0 , rest = 1 ;
	i = 0 ;
	for(int i = 1 ; i <= n ; i ++) {
		if(i < r) {
			ans += rest ;
			rest *= 2 ;
		}else {
			ans += rest ;
		}
	}
	cout << ans << endl ;
	return 0 ;
} 

溜了溜了~

posted @ 2019-08-21 10:48  _L_Y_T  阅读(147)  评论(0编辑  收藏  举报