Submission #1291362


Source Code Expand

#include<cstdio>
#include<vector>

using namespace std;

using ll=long long;
using vi=vector<int>;
using vll=vector<ll>;


int min_u(ll& m, ll v)
{
	if(m<0 || m>=v)
	{
		m=v;
		return 1;
	}
	return 0;
}


int main(void)
{
	int n, k;
	vi a, h, ph;
	vll c, pc;

	while(scanf("%d%d", &n, &k)==2)
	{
		h.clear();
		h.resize(n, -1);
		c.clear();
		c.resize(n, -1);

		a.resize(n);
		for(int i=0;i<n;i++) scanf("%d", &a[i]);

		c[0]=0;
		h[0]=a[0];
		for(int i=1;i<n;i++)
		{
			pc=c;
			ph=h;
			for(int j=0;j<i;j++)
			{
				if(pc[j]<0) continue;

				int ht=max(ph[j]+1, a[i]);
				if(min_u(c[j+1], pc[j]+ht-a[i]))
				{
					h[j+1]=ht;
				}
			}
/*
for(int i=0;i<n;i++) printf("%lld[h=%d]  ", c[i], h[i]);
printf("\n");
*/
		}
		printf("%lld\n", c[k-1]);
	}

	return 0;
}

Submission Info

Submission Time
Task A - Atcoder Handles
User myanta
Language C++14 (GCC 5.4.1)
Score 0
Code Size 834 Byte
Status WA
Exec Time 1 ms
Memory 256 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:36:42: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   for(int i=0;i<n;i++) scanf("%d", &a[i]);
                                          ^

Judge Result

Set Name Subtask1 Subtask2
Score / Max Score 0 / 130 0 / 120
Status
WA × 3
WA × 6
Set Name Test Cases
Subtask1 sub1_in1.txt, sub1_in2.txt, sub1_in3.txt
Subtask2 sub1_in1.txt, sub1_in2.txt, sub1_in3.txt, sub2_in1.txt, sub2_in2.txt, sub2_in3.txt
Case Name Status Exec Time Memory
sub1_in1.txt WA 1 ms 256 KB
sub1_in2.txt WA 1 ms 256 KB
sub1_in3.txt WA 1 ms 256 KB
sub2_in1.txt WA 1 ms 256 KB
sub2_in2.txt WA 1 ms 256 KB
sub2_in3.txt WA 1 ms 256 KB