Submission #1612140


Source Code Expand

#include<iostream>
#include<cstdio>
#include<cstring>
template<typename T>inline void check_min(T a,T &b){if(a<b)b=a;}
template<typename T>inline void read(T &x)
{
	char c=x=0;
	for(c=getchar();!isdigit(c);c=getchar());
	for(;isdigit(c);c=getchar())x=(x<<3)+(x<<1)+(c^48);
}
namespace bf
{
	typedef long long ll;
	const int N=100010;
	const ll INF=214748364700000ll;
	struct Increasing_queue
	{
		ll dl[N];
		int pos[N];
		int head,tail;
		void init(){head=0,tail=1;}
		void insert(ll x,int p)
		{
			while(head>=tail && dl[head]>=x)head--;
			dl[++head]=x;
			pos[head]=p;
		}
		void del(int p)
		{
			while(head>=tail && pos[tail]<=p)tail++;
		}
		ll query(){return head>=tail?dl[tail]:INF;}
	}d;
	int a[N],b[N];
	ll f[N],tmp;
	int n,m;
	void initialize()
	{
		read(n),read(a[n]),read(m);
		for(int i=0;i<n;i++)
			read(a[i]);
		for(int i=1;i<=n;i++)
			b[i]=a[i]-a[i-1];
	}
	inline ll get_dis(int i,int j){return a[j]-b[j]-a[i];}
//	inline ll calc(int i,int j)
//	{
//		ll dis=get_dis(i,j),ret=dis*3+b[j];
//		ret+=std::max(0ll,m-dis*2);
//		return ret;
//	}
	void solve()
	{
		initialize();

		d.init(),tmp=INF;
		f[0]=a[0],d.insert(f[0]-a[0],0);
		int ind=0;

		for(int i=1;i<=n;i++)
		{
			for(;ind<i && get_dis(ind,i)*2>m;ind++)
				d.del(ind),check_min(f[ind]-3*a[ind],tmp);

			f[i]=d.query()+a[i]+m;
			check_min(tmp+3*a[i]-2*b[i],f[i]);

			d.insert(f[i]-a[i],i);
		}
		printf("%lld\n",f[n]);
	}
}
int main()
{
	bf::solve();
	return 0;
}

Submission Info

Submission Time
Task D - Shik and Game
User Demerzel_IV
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1526 Byte
Status WA
Exec Time 13 ms
Memory 2944 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 0 / 600 0 / 600
Status
AC × 2
WA × 1
AC × 22
WA × 1
AC × 22
WA × 42
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
Subtask1 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 2_00.txt, 2_01.txt, 2_02.txt, 2_03.txt, 2_04.txt, 2_05.txt, 2_06.txt, 2_07.txt, 2_08.txt, 2_09.txt, 2_10.txt, 2_11.txt, 2_12.txt, 2_13.txt, 2_14.txt, 2_15.txt, 2_16.txt, 2_17.txt, 2_18.txt, 2_19.txt, 2_20.txt, 2_21.txt, 2_22.txt, 2_23.txt, 2_24.txt, 2_25.txt, 2_26.txt, 2_27.txt, 2_28.txt, 2_29.txt, 2_30.txt, 2_31.txt, 2_32.txt, 2_33.txt, 2_34.txt, 2_35.txt, 2_36.txt, 2_37.txt, 2_38.txt, 2_39.txt, 2_40.txt
Case Name Status Exec Time Memory
0_00.txt AC 1 ms 256 KB
0_01.txt AC 1 ms 256 KB
0_02.txt WA 1 ms 256 KB
1_00.txt AC 1 ms 256 KB
1_01.txt AC 1 ms 256 KB
1_02.txt AC 1 ms 256 KB
1_03.txt AC 1 ms 256 KB
1_04.txt AC 1 ms 256 KB
1_05.txt AC 1 ms 256 KB
1_06.txt AC 1 ms 256 KB
1_07.txt AC 1 ms 256 KB
1_08.txt AC 1 ms 256 KB
1_09.txt AC 1 ms 256 KB
1_10.txt AC 1 ms 256 KB
1_11.txt AC 1 ms 256 KB
1_12.txt AC 1 ms 256 KB
1_13.txt AC 1 ms 256 KB
1_14.txt AC 1 ms 256 KB
1_15.txt AC 1 ms 256 KB
1_16.txt AC 1 ms 256 KB
1_17.txt AC 1 ms 256 KB
1_18.txt AC 1 ms 256 KB
1_19.txt AC 1 ms 256 KB
2_00.txt WA 9 ms 2944 KB
2_01.txt WA 9 ms 2944 KB
2_02.txt WA 9 ms 2944 KB
2_03.txt WA 9 ms 2944 KB
2_04.txt WA 9 ms 2944 KB
2_05.txt WA 9 ms 2816 KB
2_06.txt WA 9 ms 2816 KB
2_07.txt WA 9 ms 2816 KB
2_08.txt WA 9 ms 2816 KB
2_09.txt WA 9 ms 2816 KB
2_10.txt WA 11 ms 2944 KB
2_11.txt WA 11 ms 2944 KB
2_12.txt WA 11 ms 2944 KB
2_13.txt WA 11 ms 2944 KB
2_14.txt WA 11 ms 2944 KB
2_15.txt WA 11 ms 2944 KB
2_16.txt WA 11 ms 2944 KB
2_17.txt WA 11 ms 2816 KB
2_18.txt WA 11 ms 2816 KB
2_19.txt WA 12 ms 2688 KB
2_20.txt WA 12 ms 2688 KB
2_21.txt WA 12 ms 2688 KB
2_22.txt WA 12 ms 2816 KB
2_23.txt WA 12 ms 2816 KB
2_24.txt WA 12 ms 2944 KB
2_25.txt WA 13 ms 2944 KB
2_26.txt WA 12 ms 2944 KB
2_27.txt WA 12 ms 2944 KB
2_28.txt WA 12 ms 2944 KB
2_29.txt WA 12 ms 2944 KB
2_30.txt WA 12 ms 2944 KB
2_31.txt WA 12 ms 2944 KB
2_32.txt WA 12 ms 2944 KB
2_33.txt WA 12 ms 2816 KB
2_34.txt WA 12 ms 2816 KB
2_35.txt WA 12 ms 2816 KB
2_36.txt WA 12 ms 2688 KB
2_37.txt WA 12 ms 2560 KB
2_38.txt WA 11 ms 2432 KB
2_39.txt WA 11 ms 2304 KB
2_40.txt WA 11 ms 2176 KB