Submission #3000809


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define N 200100
#define INF 0x3f3f3f3f

int n,c0,q,x,y;
int b[N],cost[N],d[N<<2],dp[N];
vector<int> v[N];

int query(int o,int L,int R,int l,int r) {
	if (l<=L && r>=R) return d[o];
	int mid=(L+R)>>1,ret=INF;
	if (l<=mid) ret=min(ret,query(o<<1,L,mid,l,r));
	if (r>mid) ret=min(ret,query(o<<1|1,mid+1,R,l,r));
	return ret;
}

void upd(int o,int l,int r,int x,int y) {
	if (l==r) {d[o]=min(d[o],y); return;}
	int mid=(l+r)>>1;
	if (x<=mid) upd(o<<1,l,mid,x,y);
	else upd(o<<1|1,mid+1,r,x,y);
	d[o]=min(d[o<<1],d[o<<1|1]);
}

int main()
{
	scanf("%d",&n);
	for (int i=1;i<=n;i++)
	{
		scanf("%d",&b[i]);
		if (!b[i]) c0++;
		cost[i]=b[i] ? 1 : -1;
	}
	scanf("%d",&q);
	for (int i=1;i<=q;i++)
	{
		scanf("%d%d",&x,&y);
		v[x].push_back(y);
	}
	memset(d,0x3f,sizeof(d));
	memset(dp,0x3f,sizeof(dp));
	dp[0]=0;
	for (int i=1;i<=n;i++)
	{
		for (int j=0;j<(int)v[i].size();j++)
		{
			int x=v[i][j];
			int t=min(dp[i-1],query(1,1,n,max(i-1,1),x));
			if (t<dp[x]) {
				dp[x]=t;
				upd(1,1,n,x,t);
			}
		}
		dp[i]=min(dp[i],dp[i-1]+cost[i]);
	}
	printf("%d\n",dp[n]+c0);
	return 0;
}

Submission Info

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

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:28:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
                ^
./Main.cpp:31:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&b[i]);
                    ^
./Main.cpp:35:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&q);
                ^
./Main.cpp:38: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 141 ms 13176 KB
cent_1 AC 146 ms 13952 KB
cent_2 AC 134 ms 12404 KB
cent_3 AC 142 ms 13308 KB
cent_4 AC 141 ms 13432 KB
cent_5 AC 133 ms 12532 KB
cent_6 AC 140 ms 13304 KB
cent_7 AC 138 ms 12920 KB
cent_8 AC 149 ms 13952 KB
cent_9 AC 136 ms 12660 KB
example_0 AC 4 ms 8832 KB
example_1 AC 4 ms 8832 KB
example_2 AC 4 ms 8832 KB
example_3 AC 4 ms 8832 KB
example_4 AC 4 ms 8832 KB
example_5 AC 4 ms 8832 KB
example_6 AC 4 ms 8832 KB
full_0 AC 21 ms 10368 KB
full_1 AC 142 ms 14208 KB
full_10 AC 21 ms 10496 KB
full_11 AC 149 ms 14208 KB
full_12 AC 21 ms 10496 KB
full_13 AC 142 ms 14208 KB
full_14 AC 21 ms 10496 KB
full_15 AC 142 ms 14208 KB
full_16 AC 21 ms 10496 KB
full_17 AC 144 ms 14208 KB
full_18 AC 21 ms 10496 KB
full_19 AC 142 ms 14208 KB
full_2 AC 21 ms 10496 KB
full_3 AC 143 ms 14208 KB
full_4 AC 21 ms 10496 KB
full_5 AC 142 ms 14208 KB
full_6 AC 21 ms 10368 KB
full_7 AC 144 ms 14208 KB
full_8 AC 21 ms 10368 KB
full_9 AC 146 ms 14208 KB
maxrand_0 AC 21 ms 10496 KB
maxrand_1 AC 150 ms 13952 KB
maxrand_10 AC 21 ms 10496 KB
maxrand_11 AC 150 ms 13952 KB
maxrand_12 AC 22 ms 10496 KB
maxrand_13 AC 151 ms 13952 KB
maxrand_14 AC 21 ms 10496 KB
maxrand_15 AC 155 ms 13952 KB
maxrand_16 AC 22 ms 10368 KB
maxrand_17 AC 151 ms 13952 KB
maxrand_18 AC 22 ms 10496 KB
maxrand_19 AC 154 ms 13952 KB
maxrand_2 AC 21 ms 10368 KB
maxrand_20 AC 21 ms 10496 KB
maxrand_21 AC 153 ms 13952 KB
maxrand_22 AC 22 ms 10496 KB
maxrand_23 AC 150 ms 13952 KB
maxrand_24 AC 21 ms 10496 KB
maxrand_25 AC 153 ms 13952 KB
maxrand_26 AC 21 ms 10496 KB
maxrand_27 AC 151 ms 13952 KB
maxrand_28 AC 21 ms 10368 KB
maxrand_29 AC 150 ms 13952 KB
maxrand_3 AC 150 ms 13952 KB
maxrand_4 AC 21 ms 10496 KB
maxrand_5 AC 152 ms 13952 KB
maxrand_6 AC 21 ms 10368 KB
maxrand_7 AC 153 ms 13952 KB
maxrand_8 AC 21 ms 10368 KB
maxrand_9 AC 152 ms 13952 KB
rand_0 AC 150 ms 13952 KB
rand_1 AC 81 ms 10880 KB
rand_10 AC 149 ms 13952 KB
rand_11 AC 51 ms 11136 KB
rand_12 AC 152 ms 13952 KB
rand_13 AC 107 ms 12416 KB
rand_14 AC 149 ms 13952 KB
rand_15 AC 64 ms 10368 KB
rand_16 AC 149 ms 13952 KB
rand_17 AC 82 ms 11392 KB
rand_18 AC 149 ms 13952 KB
rand_19 AC 129 ms 13440 KB
rand_2 AC 148 ms 13952 KB
rand_3 AC 113 ms 11264 KB
rand_4 AC 149 ms 13952 KB
rand_5 AC 69 ms 10112 KB
rand_6 AC 153 ms 13952 KB
rand_7 AC 91 ms 11264 KB
rand_8 AC 149 ms 13952 KB
rand_9 AC 31 ms 10624 KB
small_0 AC 4 ms 8832 KB
small_1 AC 4 ms 8832 KB
small_2 AC 4 ms 8832 KB
small_3 AC 4 ms 8832 KB
small_4 AC 4 ms 8832 KB
small_5 AC 4 ms 8832 KB
small_6 AC 4 ms 8832 KB
small_7 AC 4 ms 8832 KB
small_8 AC 4 ms 8832 KB
small_9 AC 4 ms 8832 KB
smallwidth_0 AC 21 ms 10368 KB
smallwidth_1 AC 136 ms 14336 KB
smallwidth_10 AC 20 ms 10368 KB
smallwidth_11 AC 130 ms 14336 KB
smallwidth_12 AC 21 ms 10496 KB
smallwidth_13 AC 144 ms 14336 KB
smallwidth_14 AC 21 ms 10368 KB
smallwidth_15 AC 120 ms 14336 KB
smallwidth_16 AC 20 ms 10368 KB
smallwidth_17 AC 137 ms 14336 KB
smallwidth_18 AC 21 ms 10368 KB
smallwidth_19 AC 119 ms 14336 KB
smallwidth_2 AC 21 ms 10496 KB
smallwidth_20 AC 21 ms 10496 KB
smallwidth_21 AC 137 ms 14336 KB
smallwidth_22 AC 21 ms 10496 KB
smallwidth_23 AC 119 ms 14336 KB
smallwidth_24 AC 21 ms 10496 KB
smallwidth_25 AC 136 ms 14336 KB
smallwidth_26 AC 21 ms 10368 KB
smallwidth_27 AC 119 ms 14336 KB
smallwidth_28 AC 21 ms 10368 KB
smallwidth_29 AC 137 ms 14336 KB
smallwidth_3 AC 120 ms 14336 KB
smallwidth_4 AC 21 ms 10368 KB
smallwidth_5 AC 136 ms 14336 KB
smallwidth_6 AC 21 ms 10368 KB
smallwidth_7 AC 120 ms 14336 KB
smallwidth_8 AC 21 ms 10496 KB
smallwidth_9 AC 136 ms 14336 KB