Working in Beijing-SPOJ solution

0

This is an interesting problem i solved recently

http://www.spoj.com/problems/WORKB/

#include<iostream>
int main(){
int imp[100000];
unsigned long long n,a,b,cost,interncost,flightcost;
int t,z,i,d;
cin>>t;
for(z=1;z<=t;z++){
cin>>n>>a>>b;
cost=2*a+n*b;
flightcost=2*a;
for(i=0;i<n;i++){
cin>>imp[i];
}
for(i=1;i<n;i++){
d=v[i]-v[i-1]-1;//no of days between 2 imp dates-1(for arriving one day prior to the imp date
interncost=d*b;
if(interncost<flightcost)
cost+=interncost;
else
cost+=flightcost;
}
cout << “Case #”<< z <<“: “<< cost << ‘\n’;

}

}

Creating custom Exceptions -Java

0

Here is a program which throws a custom exception when a negative value is entered for radius
/**
*
* @author vishnu
*/
import java.util.*;

class Circle{
private double radius,area;
Circle(){
radius=0.0;
area=0.0;

}
void setRadius(){
System.out.println(“enter radius”);
Scanner input=new Scanner(System.in);
radius=input.nextDouble();
try{
if(radius<0)
throw new CustomException(“wrong value of radius”);
area=3.14*radius*radius;
}
catch(CustomException e){
System.out.println(“message”+e.getMessage());
}

}
void show(){
System.out.println(“area=”+area);
}
}
class CustomException extends Exception {
private String message= null;
public CustomException(){
super();
}
public CustomException(String message){
super(message);
this.message=message;
}
}
public class CircleTest{
public static void main(String args[]){
Circle cob =new Circle();
cob.setRadius();

}
}

MaximumSubArray – Dynamic programming

0

//aim of the program is to find the maximum subarray (contiguous sequence of number) in an array containing both positive and negative numbers

#include<iostream>
using namespace std;
int main(){
    int n;
    cout<<“enter the number of elements”;
    cin>>n;
    int arr[n],max[n],maxsum=0;
    cout<<“enter the elements”;
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }
    if(arr[0]>0)
      max[0]=arr[0];
      else
      max[0]=0;
      for(int i=1;i<n;i++){
          if((max[i-1]+arr[i])>0){
              max[i]=max[i-1]+arr[i];
          }
              else
              max[i]=0;
          
      }
      for(int i=1;i<n;i++){
          if(max[i]>maxsum){
              maxsum=max[i];
          }
      }
      cout<<“\n maximun sum is “<<maxsum;
  }
 

Queue Interface in Java

0

Java comes with its own builtin Queue interface.

Lets see a simple program using Queue Interface

import java.util.*;
public class BuiltInQueue {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Queue<Integer> q=new LinkedList<Integer>();
int c,n;
Scanner S=new Scanner(System.in);
while(true){
System.out.println(“1)enqueue,2)dequeue,3)peek,4)exit”);

c=S.nextInt();

switch(c){
case 1: System.out.println(“enter number”);
n=S.nextInt();
q.add(n);
break;
case 2:System.out.println(q.poll());
break;
case 3:System.out.println(q.peek());
break;
case 4:System.exit(0);

}

}
}
}