public static void Main()
TourPackage[] packages = {
new TourPackage(111, 1000, 120, 10, 0),
new TourPackage(2, 1500, 150, 15, 0),
new TourPackage(693, 2000, 180, 20, 0)
packages[0].SetExtra(130, 12);
packages[1].SetExtra(140, 10);
packages[2].SetExtra(200, 25);
Console.WriteLine("Total customers with extra charges: " + Calculate(packages));
int[] customerIds = Costumers(packages);
Console.WriteLine("Customer IDs with extra charges: " + string.Join(", ", customerIds));
public static int Calculate(TourPackage[] packages)
for(int i=0; i<packages.Length; i++)
if(packages[i].GetExtra() > 0)
public static int[] Costumers(TourPackage[] packages)
int len = Calculate(packages);
int[] arr = new int[len];
for(int i=0; i<packages.Length; i++)
if(packages[i].GetExtra() > 0)
arr[j] = packages[i].GetId();
public TourPackage(int id, int price, int maxTime, int maxData, int extra)
public void SetExtra(int minutes, int usuage)
for(int i=maxTime; i<minutes; i++)
for(int i=maxData; i<usuage; i++)
{ extraForUsuage = extraForUsuage + 2;
this.extra = extraForMins + extraForUsuage;