Pagini recente » Cod sursa (job #2707077) | Cod sursa (job #2972603) | Cod sursa (job #966106) | Cod sursa (job #1965737) | Cod sursa (job #544936)
Cod sursa(job #544936)
// http://infoarena.ro/problema/lazy
#include <fstream>
#include <algorithm>
using namespace std;
#define maxSize 200001
struct stuff {
int from,to;
int length,profit;
};
int nodes,nrEdges;
int group[maxSize];
int Link[maxSize];
stuff edge[maxSize];
void read();
bool comp(int i,int k);
void write();
int main() {
read();
sort(Link+1,Link+nrEdges+1,comp);
write();
return (0);
}
void read() {
ifstream in("lazy.in");
in >> nodes >> nrEdges;
for(int i=1;i<=nrEdges;i++) {
in >> edge[i].from >> edge[i].to;
in >> edge[i].length >> edge[i].profit;
edge[i].profit *= edge[i].length;
Link[i] = i;
}
in.close();
}
void write() {
ofstream out("lazy.out");
for(int i=1;i<nodes;i++)
out << Link[i] << "\n";
out.close();
}
bool comp(int i,int k) {
if(edge[i].length < edge[k].length)
return true;
else
if(edge[i].length <= edge[k].length && edge[i].profit > edge[k].profit)
return true;
else
return false;
}