Created
January 8, 2012 10:22
-
-
Save phaniram/1577934 to your computer and use it in GitHub Desktop.
Interview Street Challenges - Direct conn
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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