Submission #2599998


Source Code Expand

#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <cstring>
#include <queue>
#include <set>
#include <map>
#include <functional>
#include <cmath>
#define SIZE 100005
#define INF 1000000000000000000LL

using namespace std;
typedef long long int ll;
typedef pair <int,int> P;

ll A[SIZE];
vector <ll> vec[SIZE];
multiset <ll> st;
multiset <ll>::iterator it;
int n,m;
ll D;
ll ans;

void ins(ll x)
{
	it=st.lower_bound(x);
	ll nxt=*it;
	if(nxt!=x)
	{
		it--;
		ll back=*it;
		if(nxt-back-1>D)
		{
			ans++;
			if(nxt-x-1<=D) ans+=nxt-x-1;
			if(x-back-1<=D) ans+=x-back-1;
		}
	}
	st.insert(x);
}
void rem(ll x)
{
	it=st.lower_bound(x);
	st.erase(it);
	it=st.lower_bound(x);
	ll nxt=*it;
	if(nxt!=x)
	{
		it--;
		ll back=*it;
		if(nxt-back-1>D)
		{
			ans--;
			if(nxt-x-1<=D) ans-=nxt-x-1;
			if(x-back-1<=D) ans-=x-back-1;
		}
	}
}
int main()
{
	ll Y;
	int W;
	scanf("%lld %d",&Y,&W);
	scanf("%d %d %lld",&n,&m,&D);
	ans=0;
	st.insert(INF);
	st.insert(-INF);
	for(int i=0;i<n;i++) scanf("%lld",&A[i]),A[i]--;
	for(int i=0;i<m;i++)
	{
		ll B,C;
		scanf("%lld %lld",&B,&C);
		B--,C--;
		ll d=B*(ll) W+C;
		ins(d);
		vec[C].push_back(d);
	}
	for(int i=0;i<W;i++)
	{
		for(int j=0;j<n;j++) ins(A[j]+i);
		printf("%lld\n",ans);
		for(int j=0;j<n;j++) rem(A[j]+i);
		for(int j=0;j<vec[i].size();j++)
		{
			rem(vec[i][j]);
			ins(vec[i][j]+W);
		}
	}
	return 0;
}

Submission Info

Submission Time
Task E - 祝日
User yutaka1999
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1484 Byte
Status AC
Exec Time 3523 ms
Memory 11916 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:65:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld %d",&Y,&W);
                        ^
./Main.cpp:66:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d %lld",&n,&m,&D);
                              ^
./Main.cpp:70:49: 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("%lld",&A[i]),A[i]--;
                                                 ^
./Main.cpp:74:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld",&B,&C);
                           ^

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 600 / 600 100 / 100
Status
AC × 4
AC × 22
AC × 56
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Subtask1 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, sample-01.txt, sample-02.txt
All 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 02-20.txt, 02-21.txt, 02-22.txt, 02-23.txt, 02-24.txt, 02-25.txt, 02-26.txt, 02-27.txt, 02-28.txt, 02-29.txt, 02-30.txt, 02-31.txt, 02-32.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Case Name Status Exec Time Memory
01-01.txt AC 163 ms 10880 KB
01-02.txt AC 157 ms 9984 KB
01-03.txt AC 97 ms 8192 KB
01-04.txt AC 31 ms 4480 KB
01-05.txt AC 143 ms 8832 KB
01-06.txt AC 136 ms 8320 KB
01-07.txt AC 129 ms 8048 KB
01-08.txt AC 23 ms 4608 KB
01-09.txt AC 171 ms 9600 KB
01-10.txt AC 25 ms 4096 KB
01-11.txt AC 123 ms 9856 KB
01-12.txt AC 127 ms 9600 KB
01-13.txt AC 138 ms 9856 KB
01-14.txt AC 52 ms 6016 KB
01-15.txt AC 148 ms 9216 KB
01-16.txt AC 5 ms 2688 KB
01-17.txt AC 32 ms 4352 KB
01-18.txt AC 158 ms 8320 KB
01-19.txt AC 163 ms 10880 KB
01-20.txt AC 160 ms 10112 KB
02-01.txt AC 1809 ms 10880 KB
02-02.txt AC 520 ms 9216 KB
02-03.txt AC 478 ms 10112 KB
02-04.txt AC 856 ms 11916 KB
02-05.txt AC 1771 ms 10752 KB
02-06.txt AC 876 ms 9344 KB
02-07.txt AC 130 ms 8048 KB
02-08.txt AC 256 ms 3456 KB
02-09.txt AC 991 ms 9984 KB
02-10.txt AC 76 ms 3840 KB
02-11.txt AC 1147 ms 10496 KB
02-12.txt AC 367 ms 9472 KB
02-13.txt AC 456 ms 9088 KB
02-14.txt AC 80 ms 3712 KB
02-15.txt AC 416 ms 9088 KB
02-16.txt AC 20 ms 2688 KB
02-17.txt AC 59 ms 4352 KB
02-18.txt AC 192 ms 8320 KB
02-19.txt AC 1879 ms 10880 KB
02-20.txt AC 131 ms 8052 KB
02-21.txt AC 275 ms 3328 KB
02-22.txt AC 3 ms 2560 KB
02-23.txt AC 3523 ms 11008 KB
02-24.txt AC 1809 ms 9344 KB
02-25.txt AC 1081 ms 9344 KB
02-26.txt AC 3 ms 2560 KB
02-27.txt AC 68 ms 2688 KB
02-28.txt AC 246 ms 2944 KB
02-29.txt AC 152 ms 8064 KB
02-30.txt AC 153 ms 8192 KB
02-31.txt AC 153 ms 8192 KB
02-32.txt AC 167 ms 2816 KB
sample-01.txt AC 2 ms 2560 KB
sample-02.txt AC 2 ms 2560 KB
sample-03.txt AC 2 ms 2560 KB
sample-04.txt AC 2 ms 2560 KB