Pagini recente » Cod sursa (job #2497348) | Cod sursa (job #2596827) | Cod sursa (job #2229066) | Cod sursa (job #2851470) | Cod sursa (job #2099588)
#include <fstream>
#include <vector>
#include <algorithm>
#include <math.h>
#define x first
#define y second
using namespace std;
ifstream f("aliens.in");
ofstream g("aliens.out");
vector<double> v;
int n;
void sortare(){
for(int i=0;i<v.size()-1;i++)
for(int j=i+1;j<v.size();j++)
if(v[i]<v[j])
swap(v[i],v[j]);
}
bool verificare(double p){
int z=floor(p);
if(p==z&&((z%2==0||z%3==0||z%5==0)||z==1))
return true;
return false;
}
int main(){
f>>n;
for(int i=1;i<=n;i++){
double a,b;f>>a>>b;
v.push_back(a/b);
}
sortare();
double p=0,maxi=0;
for(int i=0;i<v.size()-1;i++){
p=v[i];
for(int j=i+1;j<v.size();j++){
p*=v[j];
if(verificare(p)){
if(p>maxi)
maxi=p;
}else
if(maxi!=0){
int z=floor(p);
if(((z%2==0||z%3==0||z%5==0)||z==1)&&p>maxi&&z==p){
g<<(int)p;return 0;
}
}
}
}
g<<(int)maxi;
return 0;
}