Submission #3001953


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
vector <int> v[200005];
int n,i,c0,cost[200005],q,j,x,t,y,d[800005],dp[200005],b[200005];
int query(int k,int t,int w,int x,int y)
{
	if ((t>y) || (x>w))
	  return 2000000000;
	if ((x<=t) && (w<=y))
	  return d[k];
	int mid=(t+w)/2;
	return min(query(k*2,t,mid,x,y),query(k*2+1,mid+1,w,x,y));
}
void xiugai(int k,int t,int w,int x,int y)
{
	if ((t>x) || (w<x))
	  return;
	if (t==w)
	{
		d[k]=y;
		return;
    }
    int mid=(t+w)/2;
    xiugai(k*2,t,mid,x,y);
    xiugai(k*2+1,mid+1,w,x,y);
    d[k]=min(d[k*2],d[k*2+1]);
}
int main()
{
	scanf("%d",&n);
	for (i=1;i<=n;i++)
	  {
	  	scanf("%d",&b[i]);
	  	if (b[i]==0)
	  	  c0++;
	  	if (b[i]==0)
	  	  cost[i]=-1;
	  	else
	  	  cost[i]=1;
	  }
	scanf("%d",&q);
	for (i=1;i<=q;i++)
	{
		scanf("%d%d",&x,&y);
		v[x].push_back(y);
	}
	memset(d,127,sizeof(d));
	memset(dp,127,sizeof(dp));
	dp[0]=0;
	for (i=1;i<=n;i++)
    {
    	for (j=0;j<v[i].size();j++)
    	{
    		x=v[i][j];
    		t=min(dp[i-1],query(1,1,n,max(i-1,1),x));
    		if (t<dp[x])
    		{
    			dp[x]=t;
    		    xiugai(1,1,n,x,t);
			}
		}
	dp[i]=min(dp[i],dp[i-1]+cost[i]);
	}
    printf("%d",dp[n]+c0);
    return 0;
}

Submission Info

Submission Time
Task F - NRE
User shenzekai
Language C++14 (GCC 5.4.1)
Score 1000
Code Size 1250 Byte
Status AC
Exec Time 187 ms
Memory 14336 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:30:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
                ^
./Main.cpp:33:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&b[i]);
                      ^
./Main.cpp:41:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&q);
                ^
./Main.cpp:44:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d",&x,&y);
                      ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1000 / 1000
Status
AC × 7
AC × 127
Set Name Test Cases
Sample example_0, example_1, example_2, example_3, example_4, example_5, example_6
All cent_0, cent_1, cent_2, cent_3, cent_4, cent_5, cent_6, cent_7, cent_8, cent_9, example_0, example_1, example_2, example_3, example_4, example_5, example_6, full_0, full_1, full_10, full_11, full_12, full_13, full_14, full_15, full_16, full_17, full_18, full_19, full_2, full_3, full_4, full_5, full_6, full_7, full_8, full_9, maxrand_0, maxrand_1, maxrand_10, maxrand_11, maxrand_12, maxrand_13, maxrand_14, maxrand_15, maxrand_16, maxrand_17, maxrand_18, maxrand_19, maxrand_2, maxrand_20, maxrand_21, maxrand_22, maxrand_23, maxrand_24, maxrand_25, maxrand_26, maxrand_27, maxrand_28, maxrand_29, maxrand_3, maxrand_4, maxrand_5, maxrand_6, maxrand_7, maxrand_8, maxrand_9, rand_0, rand_1, rand_10, rand_11, rand_12, rand_13, rand_14, rand_15, rand_16, rand_17, rand_18, rand_19, rand_2, rand_3, rand_4, rand_5, rand_6, rand_7, rand_8, rand_9, small_0, small_1, small_2, small_3, small_4, small_5, small_6, small_7, small_8, small_9, smallwidth_0, smallwidth_1, smallwidth_10, smallwidth_11, smallwidth_12, smallwidth_13, smallwidth_14, smallwidth_15, smallwidth_16, smallwidth_17, smallwidth_18, smallwidth_19, smallwidth_2, smallwidth_20, smallwidth_21, smallwidth_22, smallwidth_23, smallwidth_24, smallwidth_25, smallwidth_26, smallwidth_27, smallwidth_28, smallwidth_29, smallwidth_3, smallwidth_4, smallwidth_5, smallwidth_6, smallwidth_7, smallwidth_8, smallwidth_9
Case Name Status Exec Time Memory
cent_0 AC 165 ms 13176 KB
cent_1 AC 171 ms 13952 KB
cent_2 AC 158 ms 12404 KB
cent_3 AC 167 ms 13308 KB
cent_4 AC 167 ms 13432 KB
cent_5 AC 158 ms 12532 KB
cent_6 AC 169 ms 13304 KB
cent_7 AC 165 ms 12920 KB
cent_8 AC 178 ms 13952 KB
cent_9 AC 164 ms 12660 KB
example_0 AC 4 ms 9600 KB
example_1 AC 4 ms 9600 KB
example_2 AC 4 ms 9600 KB
example_3 AC 4 ms 9600 KB
example_4 AC 4 ms 9600 KB
example_5 AC 4 ms 9600 KB
example_6 AC 4 ms 9600 KB
full_0 AC 21 ms 10368 KB
full_1 AC 175 ms 14208 KB
full_10 AC 21 ms 10496 KB
full_11 AC 176 ms 14208 KB
full_12 AC 21 ms 10496 KB
full_13 AC 177 ms 14208 KB
full_14 AC 21 ms 10496 KB
full_15 AC 172 ms 14208 KB
full_16 AC 21 ms 10368 KB
full_17 AC 169 ms 14208 KB
full_18 AC 21 ms 10496 KB
full_19 AC 169 ms 14208 KB
full_2 AC 21 ms 10496 KB
full_3 AC 169 ms 14208 KB
full_4 AC 21 ms 10496 KB
full_5 AC 169 ms 14208 KB
full_6 AC 21 ms 10368 KB
full_7 AC 180 ms 14208 KB
full_8 AC 21 ms 10368 KB
full_9 AC 170 ms 14208 KB
maxrand_0 AC 21 ms 10496 KB
maxrand_1 AC 174 ms 13952 KB
maxrand_10 AC 21 ms 10496 KB
maxrand_11 AC 173 ms 13952 KB
maxrand_12 AC 22 ms 10496 KB
maxrand_13 AC 173 ms 13952 KB
maxrand_14 AC 21 ms 10368 KB
maxrand_15 AC 174 ms 13952 KB
maxrand_16 AC 20 ms 10368 KB
maxrand_17 AC 173 ms 13952 KB
maxrand_18 AC 22 ms 10496 KB
maxrand_19 AC 181 ms 13952 KB
maxrand_2 AC 21 ms 10368 KB
maxrand_20 AC 21 ms 10368 KB
maxrand_21 AC 174 ms 13952 KB
maxrand_22 AC 22 ms 10496 KB
maxrand_23 AC 174 ms 13952 KB
maxrand_24 AC 21 ms 10496 KB
maxrand_25 AC 174 ms 13952 KB
maxrand_26 AC 21 ms 10496 KB
maxrand_27 AC 173 ms 13952 KB
maxrand_28 AC 21 ms 10368 KB
maxrand_29 AC 173 ms 13952 KB
maxrand_3 AC 174 ms 13952 KB
maxrand_4 AC 21 ms 10368 KB
maxrand_5 AC 174 ms 13952 KB
maxrand_6 AC 21 ms 10368 KB
maxrand_7 AC 173 ms 13952 KB
maxrand_8 AC 20 ms 10368 KB
maxrand_9 AC 173 ms 13952 KB
rand_0 AC 174 ms 13952 KB
rand_1 AC 97 ms 11392 KB
rand_10 AC 178 ms 13952 KB
rand_11 AC 58 ms 11520 KB
rand_12 AC 173 ms 13952 KB
rand_13 AC 125 ms 12672 KB
rand_14 AC 174 ms 13952 KB
rand_15 AC 76 ms 11008 KB
rand_16 AC 174 ms 13952 KB
rand_17 AC 96 ms 11904 KB
rand_18 AC 173 ms 13952 KB
rand_19 AC 150 ms 13440 KB
rand_2 AC 187 ms 13952 KB
rand_3 AC 134 ms 11776 KB
rand_4 AC 173 ms 13952 KB
rand_5 AC 82 ms 10752 KB
rand_6 AC 173 ms 13952 KB
rand_7 AC 107 ms 11776 KB
rand_8 AC 180 ms 13952 KB
rand_9 AC 35 ms 10880 KB
small_0 AC 4 ms 9600 KB
small_1 AC 4 ms 9600 KB
small_2 AC 4 ms 9600 KB
small_3 AC 4 ms 9600 KB
small_4 AC 4 ms 9600 KB
small_5 AC 4 ms 9600 KB
small_6 AC 4 ms 9600 KB
small_7 AC 4 ms 9600 KB
small_8 AC 4 ms 9600 KB
small_9 AC 4 ms 9600 KB
smallwidth_0 AC 21 ms 10368 KB
smallwidth_1 AC 162 ms 14336 KB
smallwidth_10 AC 20 ms 10368 KB
smallwidth_11 AC 140 ms 14336 KB
smallwidth_12 AC 21 ms 10496 KB
smallwidth_13 AC 162 ms 14336 KB
smallwidth_14 AC 20 ms 10368 KB
smallwidth_15 AC 140 ms 14336 KB
smallwidth_16 AC 20 ms 10368 KB
smallwidth_17 AC 163 ms 14336 KB
smallwidth_18 AC 20 ms 10368 KB
smallwidth_19 AC 140 ms 14336 KB
smallwidth_2 AC 21 ms 10496 KB
smallwidth_20 AC 21 ms 10496 KB
smallwidth_21 AC 166 ms 14336 KB
smallwidth_22 AC 21 ms 10368 KB
smallwidth_23 AC 140 ms 14336 KB
smallwidth_24 AC 21 ms 10496 KB
smallwidth_25 AC 162 ms 14336 KB
smallwidth_26 AC 21 ms 10368 KB
smallwidth_27 AC 140 ms 14336 KB
smallwidth_28 AC 21 ms 10368 KB
smallwidth_29 AC 162 ms 14336 KB
smallwidth_3 AC 140 ms 14336 KB
smallwidth_4 AC 21 ms 10368 KB
smallwidth_5 AC 162 ms 14336 KB
smallwidth_6 AC 21 ms 10368 KB
smallwidth_7 AC 146 ms 14336 KB
smallwidth_8 AC 21 ms 10368 KB
smallwidth_9 AC 170 ms 14336 KB