В какие дни следует продавать волосы, чтобы получить максимальную прибыль? - C#

Узнай цену своей работы

Формулировка задачи:

Одного неформала выгнали с работы, и теперь ему надо как-то зарабатывать себе на жизнь. Поразмыслив, он решил, что сможет иметь очень неплохие деньги на продаже собственных волос. Известно, что пункты приема покупают волосы произвольной длины стоимостью С у.е. за каждый сантиметр. Так как волосяной рынок является очень динамичным, то цена одного сантиметра волос меняется каждый день как и курс валют. Неформал является очень хорошим бизнес-аналитиком. Он смог вычислить, какой будет цена одного сантиметра волос в каждый из ближайших N дней (для удобства пронумеруем дни в хронологическом порядке от 0 до N-1). Теперь он хочет определить, в какие из этих дней ему следует продавать волосы, чтобы по истечению всех N дней заработать максимальное количество денег. Заметим, что волосы у неформала растут только ночью и вырастают на 1 сантиметр за ночь. Следует также учесть, что до 0-го дня неформал с горя подстригся наголо и к 0-му дню длина его волос составляла 1 сантиметр. Помогите пожалуйста

Решение задачи: «В какие дни следует продавать волосы, чтобы получить максимальную прибыль?»

textual
Листинг программы
#include <fstream.h> 
#include <fstream.h> 
 
void main(){ 
 ifstream fin ("input.txt"); 
 ofstream fout ("output.txt"); 
 int c[100],i,max=0,last=-1,s=0,n; 
 
 fin>> n; // input 
 for (i=0;i< n;i++) fin> > c[ i ]; 
 fin.close(); 
 if (n=1) fout<<a[0] else 
 do{ 
 for (i=max;i<n;i++) 
if (c[ i ]> c[max])
 max=i; //max - максимальная цена 
 s+=(max-last)*c[max]; // Количество дней, прошедших с момента последней продажи * на максимальную цену 
 last=max++; // день последней продажи 
 }while (max<n); 
 fout<<s; 
 fout.close(); 
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы