Submission #43433715


Source Code Expand

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define op(x) ((x&1)?x+1:x-1)
#define odd(x) (x&1)
#define even(x) (!odd(x))
#define lc(x) (x<<1)
#define rc(x) (lc(x)|1)
#define lowbit(x) (x&-x)
#define mp(x,y) make_pair(x,y)
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
using namespace std;
const int MAXN = 4010,INF = 1e9;

void tomin(int& x,int y){
	x=min(x,y);
}

int n,q;

int cnt[MAXN];

int dp[MAXN][MAXN][2];

int main(){
	cin>>n>>q;
	rep(i,1,q){
		int l,r;cin>>l>>r;
		if(l>1)cnt[l-1]++;
		if(r<n)cnt[r]++;
	}
	int num = 0;
	rep(i,1,n-1){
		num += (cnt[i] != 0);
	}	

	if(!num){
		printf("0 %d\n",q);
		exit(0);
	}

	int d = 1;
	while((1<<d)-1 < num)d++;

	//

	int rest = num - ((1<<(d-1))-1);

	rep(i,0,n)rep(j,0,n)rep(k,0,1)dp[i][j][k] = INF;

	dp[0][0][0] = 0;

	rep(i,0,n-1)rep(j,0,n)rep(k,0,1)if(dp[i][j][k] != INF){
		int val = dp[i][j][k];

		if(!cnt[i+1]){
			tomin(dp[i+1][j][k],val);
			continue;
		}

		rep(h,0,1){
			if(h && k)continue;

			tomin(dp[i+1][j+h][h],val + h * cnt[i+1] * 2);
		}
	}

	int ans = min(dp[n][rest][0],dp[n][rest][1]);
	
	cout<<d<<" "<<ans<<endl;
    return 0;
}

Submission Info

Submission Time
Task E - Segment-Tree Optimization
User Crying
Language C++ (GCC 9.2.1)
Score 700
Code Size 1275 Byte
Status AC
Exec Time 144 ms
Memory 128848 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 2
AC × 53
Set Name Test Cases
Sample sample-01.txt, sample-02.txt
All in-01.txt, in-02.txt, in-03.txt, in-04.txt, in-05.txt, in-06.txt, in-07.txt, in-08.txt, in-09.txt, in-10.txt, in-11.txt, in-12.txt, in-13.txt, in-14.txt, in-15.txt, in-16.txt, in-17.txt, in-18.txt, in-19.txt, in-20.txt, in-21.txt, in-22.txt, in-23.txt, in-24.txt, in-25.txt, in-26.txt, in-27.txt, in-28.txt, in-29.txt, in-30.txt, in-31.txt, in-32.txt, in-33.txt, in-34.txt, in-35.txt, in-36.txt, in-37.txt, in-38.txt, in-39.txt, in-40.txt, in-41.txt, in-42.txt, in-43.txt, in-44.txt, in-45.txt, in-46.txt, in-47.txt, in-48.txt, in-49.txt, in-50.txt, in-51.txt, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
in-01.txt AC 144 ms 128660 KB
in-02.txt AC 42 ms 3620 KB
in-03.txt AC 136 ms 128796 KB
in-04.txt AC 136 ms 128796 KB
in-05.txt AC 135 ms 128660 KB
in-06.txt AC 134 ms 128848 KB
in-07.txt AC 134 ms 128660 KB
in-08.txt AC 135 ms 128732 KB
in-09.txt AC 133 ms 128728 KB
in-10.txt AC 133 ms 128792 KB
in-11.txt AC 134 ms 128848 KB
in-12.txt AC 134 ms 128752 KB
in-13.txt AC 134 ms 128792 KB
in-14.txt AC 133 ms 128836 KB
in-15.txt AC 133 ms 128800 KB
in-16.txt AC 134 ms 128848 KB
in-17.txt AC 134 ms 128848 KB
in-18.txt AC 138 ms 128792 KB
in-19.txt AC 133 ms 128732 KB
in-20.txt AC 133 ms 128812 KB
in-21.txt AC 133 ms 128832 KB
in-22.txt AC 133 ms 128780 KB
in-23.txt AC 134 ms 128788 KB
in-24.txt AC 135 ms 128784 KB
in-25.txt AC 134 ms 128724 KB
in-26.txt AC 133 ms 128800 KB
in-27.txt AC 133 ms 128832 KB
in-28.txt AC 134 ms 128848 KB
in-29.txt AC 74 ms 44308 KB
in-30.txt AC 73 ms 44464 KB
in-31.txt AC 20 ms 3516 KB
in-32.txt AC 17 ms 3444 KB
in-33.txt AC 4 ms 3380 KB
in-34.txt AC 2 ms 3448 KB
in-35.txt AC 28 ms 3512 KB
in-36.txt AC 101 ms 90336 KB
in-37.txt AC 125 ms 123108 KB
in-38.txt AC 120 ms 123544 KB
in-39.txt AC 77 ms 51984 KB
in-40.txt AC 72 ms 44148 KB
in-41.txt AC 83 ms 104552 KB
in-42.txt AC 47 ms 55408 KB
in-43.txt AC 91 ms 115028 KB
in-44.txt AC 48 ms 55636 KB
in-45.txt AC 81 ms 95804 KB
in-46.txt AC 2 ms 3832 KB
in-47.txt AC 4 ms 4320 KB
in-48.txt AC 3 ms 3716 KB
in-49.txt AC 3 ms 4136 KB
in-50.txt AC 2 ms 4104 KB
in-51.txt AC 32 ms 3472 KB
sample-01.txt AC 5 ms 3416 KB
sample-02.txt AC 3 ms 3488 KB