제출 #120045

#제출 시각아이디문제언어결과실행 시간메모리
120045BoxworldPairs (IOI07_pairs)C++14
47 / 100
4085 ms2140 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=100010;
struct point{int x,y,z;}a[N];
long long ans=0;
int B,n,d,m;
bool cmp(point a,point b){return a.x<b.x;}
void solve1(){
	for (int i=0;i<n;i++)scanf("%d",&a[i].x);
	sort(a,a+n,cmp);
	int tmp=0;
	for (int i=1;i<n;i++){
		while (a[i].x-a[tmp].x>d)tmp++;
		ans+=(i-tmp);
	}
}
double dist2(int x,int y,int X,int Y){return abs(X-x)+abs(Y-y);}
void solve2(){
	
	for (int i=0;i<n;i++){
		scanf("%d%d",&a[i].x,&a[i].y);
		for (int j=0;j<i;j++)
		if (dist2(a[i].x,a[i].y,a[j].x,a[j].y)<=d)ans++;
	}
}
double dist3(int x,int y,int z,int X,int Y,int Z){return abs(X-x)+abs(Y-y)+abs(Z-z);}
void solve3(){
	for (int i=0;i<n;i++){
		scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z);
		for (int j=0;j<i;j++)
		if (dist3(a[i].x,a[i].y,a[i].z,a[j].x,a[j].y,a[j].z)<=d)ans++;
	}
}
int main(){
	scanf("%d%d%d%d",&B,&n,&d,&m);
	if (B==1)solve1();
	if (B==2)solve2();
	if (B==3)solve3();
	printf("%lld\n",ans);
	return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

pairs.cpp: In function 'void solve1()':
pairs.cpp:9:28: 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].x);
                       ~~~~~^~~~~~~~~~~~~~
pairs.cpp: In function 'void solve2()':
pairs.cpp:21:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d",&a[i].x,&a[i].y);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
pairs.cpp: In function 'void solve3()':
pairs.cpp:29:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pairs.cpp: In function 'int main()':
pairs.cpp:35:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d%d%d",&B,&n,&d,&m);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...