Cod sursa(job #1133777)
Utilizator | Data | 5 martie 2014 16:50:03 | |
---|---|---|---|
Problema | Medie | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.21 kb |
#include<cstdio>
using namespace std;
FILE *f=fopen("medie.in","r");
FILE *g=fopen("medie.out","w");
int n, nr, v[9001], maxi, mini=100000,fr[10000];
void citire()
{
int i,j,k,mij,p,u, nr1;
float m;
fscanf(f,"%d",&n);
for(i=1;i<=n;++i)
{
fscanf(f,"%d",&v[i]);
++fr[v[i]];
if(v[i]>maxi)maxi=v[i];
if(v[i]<mini)mini=v[i];
}
for(i=1;i<=n;++i)
{
p=v[i];
u=v[i];
while(p>=mini&&u<=maxi)
{
if(fr[p]&&fr[u]&&p!=u)
{
nr+=fr[p]*fr[u];
}
else if(u==p&&fr[p]>2)
{
nr1=0;
for(j=1;j<=n;++j)
{
for(k=1;k<=n;++k)
{
if(k!=j&&k!=i&&j!=i)
{
m=(v[k]+v[j])/2.;
if(m==v[i])++nr1;
}
}
}
nr+=nr1/2;
}
--p;
++u;
}
}
fprintf(g,"%d",nr);
}
int main()
{
citire();
fclose(f);
fclose(g);
return 0;
}