Submission #4272070


Source Code Expand

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;
 
#define fi first
#define se second
#define mp make_pair
#define pb push_back
 
typedef long long ll;
typedef pair<ll,ll> ii;
typedef vector<ll> vi;
typedef unsigned long long ull;
typedef long double ld; 
typedef tree<ii, null_type, less<ii>, rb_tree_tag, tree_order_statistics_node_update> pbds;

bool cmp(const ii &a, const ii &b)
{
	ll lena = a.se-a.fi; ll lenb = b.se-b.fi;
	if(lena!=lenb) return lena>lenb;
	else return a.fi<a.se;
}

ll pref[5011][5011];
ll suf[5011][5011];

void amin(ll &a, ll b)
{
	a=min(a,b);
}

int main()
{
	ios_base::sync_with_stdio(0); cin.tie(0);
	int n; cin>>n;
	vector<ii> vec;
	for(int i=0;i<n;i++)
	{
		ll l,r; cin>>l>>r;
		vec.pb({-l,r});
	}
	sort(vec.begin(),vec.end(),cmp);
	/*
	for(int i=0;i<n;i++)
	{
		cerr<<vec[i].fi<<' '<<vec[i].se<<'\n';
	}
	*/
	ll ans = ll(2e18);
	for(int l=(n-1)/2;l<=n/2;l++)
	{
		int r=n-1-l;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<=n;j++)
			{
				pref[i][j]=suf[i][j]=ll(1e18);
			}
		}
		pref[0][0]=vec[0].se;
		pref[0][1]=-vec[0].fi;
		for(int i=0;i+1<n;i++)
		{
			for(int j=0;j<=n;j++)
			{
				if(pref[i][j]<ll(1e18))
				{
					ll v=pref[i][j];
					ll L=vec[i+1].fi; ll R=vec[i+1].se;
					//go left
					amin(pref[i+1][j], v+R+ll(i+1-j)*(R-L));
					//go right
					amin(pref[i+1][j+1], v-L+ll(j)*(R-L));
				}
			}
		}
		suf[n-1][0]=vec[n-1].se+ll(l-1)*(vec[n-1].se-vec[n-1].fi);
		suf[n-1][1]=-vec[n-1].fi+ll(r-1)*(vec[n-1].se-vec[n-1].fi);
		for(int i=n-1;i>0;i--)
		{
			for(int j=0;j<=n;j++)
			{
				if(suf[i][j]<ll(1e18))
				{
					ll v=suf[i][j];
					ll L=vec[i-1].fi; ll R=vec[i-1].se;
					//go left
					amin(suf[i-1][j], v+R+ll(l-1-((n-1-i)+1-j))*(R-L));
					//go right
					amin(suf[i-1][j+1], v-L+ll(r-1-j)*(R-L));
				}
			}
		}
		for(int i=0;i<n;i++)
		{
			//segment i is fixed
			ll constant = vec[i].se*r-vec[i].fi*l;
			for(int j=0;j<=r;j++)
			{
				ll lef = 0; 
				ll ri = 0;
				if(i==0)
				{
					if(j!=0) lef=ll(1e18);
				}
				else lef=pref[i-1][j];
				if(i==n-1)
				{
					if(r-j!=0) ri=ll(1e18);
				}
				else ri=suf[i+1][r-j];
				//cerr<<i<<' '<<j<<' '<<constant<<' '<<lef<<' '<<ri<<'\n';
				ans = min(ans, constant+lef+ri);
			}
		}
	}
	
	cout<<ans<<'\n';
}

Submission Info

Submission Time
Task F - Intervals
User zscoder
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2456 Byte
Status RE
Exec Time 481 ms
Memory 392368 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 1000
Status
AC × 2
AC × 9
MLE × 35
RE × 1
Set Name Test Cases
Sample example0.txt, example1.txt
All 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, example0.txt, example1.txt
Case Name Status Exec Time Memory
000.txt MLE 478 ms 392368 KB
001.txt AC 112 ms 167296 KB
002.txt MLE 478 ms 392368 KB
003.txt MLE 221 ms 342400 KB
004.txt MLE 479 ms 392320 KB
005.txt AC 131 ms 239360 KB
006.txt MLE 478 ms 392368 KB
007.txt MLE 255 ms 276480 KB
008.txt MLE 480 ms 392320 KB
009.txt AC 65 ms 119936 KB
010.txt MLE 478 ms 392320 KB
011.txt MLE 223 ms 255872 KB
012.txt MLE 481 ms 392320 KB
013.txt AC 55 ms 107520 KB
014.txt MLE 477 ms 392320 KB
015.txt AC 76 ms 169344 KB
016.txt MLE 477 ms 392368 KB
017.txt MLE 369 ms 340352 KB
018.txt MLE 479 ms 392320 KB
019.txt MLE 151 ms 268160 KB
020.txt AC 2 ms 2304 KB
021.txt AC 2 ms 2304 KB
022.txt RE 99 ms 512 KB
023.txt MLE 478 ms 392320 KB
024.txt MLE 477 ms 392320 KB
025.txt MLE 477 ms 392320 KB
026.txt MLE 477 ms 392320 KB
027.txt MLE 477 ms 392320 KB
028.txt MLE 477 ms 392368 KB
029.txt MLE 477 ms 392320 KB
030.txt MLE 477 ms 392320 KB
031.txt MLE 478 ms 392320 KB
032.txt MLE 478 ms 392368 KB
033.txt MLE 478 ms 392368 KB
034.txt MLE 478 ms 392320 KB
035.txt MLE 477 ms 392368 KB
036.txt MLE 477 ms 392320 KB
037.txt MLE 477 ms 392368 KB
038.txt MLE 478 ms 392320 KB
039.txt MLE 479 ms 392368 KB
040.txt MLE 477 ms 392320 KB
041.txt MLE 478 ms 392368 KB
042.txt MLE 477 ms 392368 KB
example0.txt AC 2 ms 2304 KB
example1.txt AC 2 ms 4480 KB