Cod sursa(job #1336034)

Utilizator MazzeleDeszi Marcus Mazzele Data 6 februarie 2015 14:01:50
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("trapez.in");
ofstream g("trapez.out");
int main()
{
    int n,v[1001]={0},w[1001]={0},sumica=0;f>>n;
    for(int i=1;i<=n;i++)f>>v[i]>>w[i];
    for(int i=1;i<=n;i++)
        for(int l=i+1;l<=n;l++)
            {
                if(v[i]>v[l]){int aux=v[i];v[i]=v[l];v[l]=aux;}
                if(w[i]>w[l]){int aux=w[i];w[i]=w[l];w[l]=aux;}
            }
    int m=0,s[1001]={0},si[1001]={0},o=0;
   int z=n;
    for(int i=1;i<n;i++)
    {
        int ct=0;
        while(v[i]==v[i+1]){ct++;i++;}
        if(ct>0)s[++m]=ct*(ct+1)/2;
    }
    for(int l=1;l<n;l++)
    {
        int ct=0;
        while(w[l]==w[l+1]){ct++;l++;}
        if(ct>0)si[++o]=ct*(ct+1)/2;
    }
    for(int i=1;i<m;i++)
        for(int l=i+1;l<=m;l++)
            sumica+=s[i]*s[l];

    int sumik=0;
    for(int i=1;i<o;i++)
        for(int l=i+1;l<=o;l++)
            sumik+=si[i]*si[l];
    g<<sumik+sumica;
    return 0;
}