Submission #145338

#TimeUsernameProblemLanguageResultExecution timeMemory
145338TadijaSebezCoin Collecting (JOI19_ho_t4)C++11
100 / 100
78 ms4984 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N=100050;
int cnt[N][2];
int main()
{
	int n,x,y;
	scanf("%i",&n);
	ll ans=0;
	for(int i=1;i<=2*n;i++)
	{
		scanf("%i %i",&x,&y);
		if(x<1) ans+=1-x,x=1;
		if(x>n) ans+=x-n,x=n;
		if(y<1) ans+=1-y,y=1;
		if(y>2) ans+=y-2,y=2;
		cnt[x][y-1]++;
	}
	int b[2]={0,0};
	for(int i=1;i<=n;i++)
	{
		b[0]+=cnt[i][0]-1;
		b[1]+=cnt[i][1]-1;
		if(b[0]>0 && b[1]<0)
		{
			int t=min(b[0],-b[1]);
			ans+=t;b[0]-=t;b[1]+=t;
		}
		if(b[1]>0 && b[0]<0)
		{
			int t=min(b[1],-b[0]);
			ans+=t;b[1]-=t;b[0]+=t;
		}
		ans+=abs(b[0])+abs(b[1]);
	}
	printf("%lld\n",ans);
	return 0;
}

Compilation message (stderr)

joi2019_ho_t4.cpp: In function 'int main()':
joi2019_ho_t4.cpp:9:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%i",&n);
  ~~~~~^~~~~~~~~
joi2019_ho_t4.cpp:13:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%i %i",&x,&y);
   ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...