Rezultati

Up. imeNalogaJezikRezultatČas oddaje
EOF-2017 Črte C++ 0/100Prekoračen čas (TLE) 20. apr '17 @ 16:40

Test Točke Porabljen spomin Porabljen čas Status
#1 10/10 3,070 MiB 0,004 s OK
#2 10/10 3,230 MiB 0,010 s OK
#3 10/10 3,262 MiB 0,010 s OK
#4 10/10 25,750 MiB 1,089 s OK
#5 0/10 159,102 MiB 10,817 s Prekoračen čas
#6 0/10 3,160 MiB 0,838 s Napačen odgovor
Tvoj izhod:
​-252017864<<<EOF>>>
Pravilen izhod:
​2591567982003000
<<<EOF>>>
#7 0/10 3,137 MiB 5,223 s Napačen odgovor
Tvoj izhod:
​-1418685010<<<EOF>>>
Pravilen izhod:
​20382496101806
<<<EOF>>>
#8 0/10 3,234 MiB 6,618 s Napačen odgovor
Tvoj izhod:
​650584417<<<EOF>>>
Pravilen izhod:
​1441612112225
<<<EOF>>>
#9 0/10 3,738 MiB 10,655 s Prekoračen čas
#10 0/10 168,008 MiB 10,888 s Prekoračen čas

Ocenjevani program (Crte.cpp):
#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
#include <map>
using namespace std;

int points[12005][2];
map<int, int> mp;

int main(){

	int N;
	cin>>N;
	
	
		
	for(int i = 0; i < N; i++){
		cin>>points[i][0]>>points[i][1];
	}
	
	for(int i = 0; i < N; i++){
		for(int j = i + 1; j < N; j++){
			int x = points[i][0] - points[j][0];
			int y = points[i][1] - points[j][1];
			int len = x*x + y*y;
			if(mp.find(len) == mp.end()){
				mp[len]=1;
			}
			else{
				mp[len]++;
			}
		}
	}
	
	int sum = 0;
	for(map<int, int>::iterator it = mp.begin(); it != mp.end(); it++){
		sum += (it->second)* ((it->second)-1)/2;
	}
	cout<<sum;
	
	
	
	return 0;
}