viernes, 12 de marzo de 2010

Code jam Minimum Scalar Product/Menor producto escalar



//Problema: Menor producto escalar
//Desarrollado por: Marks Calderon Niquin

#include <iostream>
#include <vector>
#include <fstream>
#include <algorithm>
#include <cstdio>
#include <cstdlib>


using namespace std;



int main()

{
ifstream in;
ofstream out;
in.open("A-large-practice.in",ifstream::in);
out.open("salida.out");
int n,n1;
vector<long long> p,q;
long long temp;
in>>n;
for(int i=0;i<n;i++)
{
in>>n1;

for(int k=0;k<n1;k++)
{
in>>temp;
p.push_back(temp);
}
for(int k=0;k<n1;k++)
{
in>>temp;
q.push_back(temp);
}
sort(p.begin(),p.end()); //sort in two vectors
sort(q.begin(),q.end());
temp=0;
for(int l=0;l<n1;l++) //multiplicate
temp+=(p[l]*q[q.size()-1-l]);
out<<"Case #"<<(i+1)<<": "<<temp<<endl;
p.clear();
q.clear();
}
in.close();
out.close();


return 0;

}

No hay comentarios: