Skip to content

Instantly share code, notes, and snippets.

@phaniram
Created January 8, 2012 10:22
Show Gist options
  • Save phaniram/1577934 to your computer and use it in GitHub Desktop.
Save phaniram/1577934 to your computer and use it in GitHub Desktop.
Interview Street Challenges - Direct conn
package interviewstreet;
import java.util.Scanner;
public class Direct_conn {
int num;
int[] distance;
int[] population;
public Direct_conn(int num, int[] distance, int[] population) {
this.num = num;
this.distance = distance;
this.population = population;
}
public static void main(String args[])
{
Scanner scanner = new Scanner(System.in);
int no_cases = scanner.nextInt();
for (int i = 0; i < no_cases; i++) {
int num_of_cities = scanner.nextInt();
int dist[]=new int[num_of_cities];
int pop[]=new int[num_of_cities];
Direct_conn dc=new Direct_conn(num_of_cities-1,dist,pop);
for(int j=0;j<num_of_cities;j++)
{
dist[j]=scanner.nextInt();
}
for(int k=0;k<num_of_cities;k++)
{
pop[k]=scanner.nextInt();
}
System.out.println(dc.solve());
}
}
private long solve() {
long ret=0;
for(int i=0;i<num;i++)
{
for(int j=i;j<num;j++)
{
ret+=perform(i,j+1);
}
}
return ret%1000000007;
}
private long perform(int i, int j) {
int conn=Math.max(population[i],population[j]);
int dist=distance[j]-distance[i];
long ret=conn*dist;
return ret;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment