Guzac - editorial

It means For a range [L, R] (Both L and R inclusive), sum of range is f(R-1) - f(L) ?

Anyone, please clear my doubt .

It means, for a range [L,R] (Both L and R EXCLUSIVE) sum of range is f(R-1) - f(L). We don’t include elements in array, since we already added them to sum in first step.

Can anyone help me to rectify where my program is failing
Solution Link-https://www.codechef.com/viewsolution/19815789

[24, 146] N=371 k=2 x=237
what should be output ?
There is a mistake in constraints x must be greater than N otherwise There won’t be any case possible where all are distinct and still difference between maximum and minimum does not exceed.
( I strongly believe the tester has added that cases otherwise my codes is giving correct for every valid input).
Here is the code :- https://www.codechef.com/viewsolution/19811696

hey i did it with same strategy but it is running out of time(TLE), i have checked it thoroughly, please somebody look into it https://ide.codingblocks.com/#/s/21991 (commented code) , https://www.codechef.com/viewsolution/19797503(submission)… if have any test cases please give them

what if the test case is …
4 2 4
1e9-2,1e9-2

in that case number might be greater than 1e9 which is the contradiction of the given constraints ??

i dont know why i am getting wrong answer ,i checked with all test cases help me @taran_1407
link text

Entertain the possibility that the minimum number can be some number less than minimum of the pi’s;
Test Case -
1
13 4 10
4 5 9 13

If we go for having a number smaller than minimum of the pi’s, even then, it would voilate the maximum difference constraint. But the problem statement Guarantee that a valid sequence always exist, which means that this case cannot appear in test cases.

It was intended that the constraint on maximum value to be applicable on first K items only.

Please anyone take a look at my code and tell me where am I doing it wrong?

ll t;scanf("%lld",&t);
while(t--)
{
	ll n,k,x;scanf("%lld %lld %lld",&n,&k,&x);
	ll a[k+1];
	ll s=0,cou=k;
	f(k)
	{
	    scanf("%lld",&a[i]);
	    s+=a[i];
	}
	sort(a,a+k);
	a[k]=a[0]+x+1;
	repb(i,k,1)
	{
		if(a[i]-a[i-1]>1)
		{
			if((cou+a[i]-1-a[i-1])<=n)
			{
				s+=(a[i]*(a[i]-1))/2;
				s-=(a[i-1]*(a[i-1]+1))/2;
				cou+=a[i]-a[i-1]-1;
			}
			else
			{
				s+=(a[i]*(a[i]-1))/2;
				ll need=n-cou;
				need=a[i]-1-need;
				s-=(need*(need+1))/2;
			}
		}

	}
	printf("%lld\n",s);
}