Есть ответ 👍

Переписать программу с java на pascal, , 50 import java.util.*; import java.io.*; public class sol_ik { private final int unit = 1000; private final int discount_per_unit = 500; private final double max_discount = 0.2; private double gettotalcost(long firstcost, long secondcost, long fullunits) { long couponsum = fullunits * discount_per_unit; double secondcostwithdiscount = secondcost - math.min(max_discount * secondcost, couponsum); return firstcost + secondcostwithdiscount; } long[] solveknapsack(long[] weights, long totalweight) { int maxunits = (int) (totalweight / unit + 1); long[] old = new long[maxunits + 1]; arrays.fill(old, totalweight); old[0] = 0; long[] cur = new long[maxunits + 1]; int n = weights.length; for (int pos = 0; pos < n; pos++) { arrays.fill(cur, totalweight); for (int units = 0; units < = maxunits; units++) { cur[units] = math.min(cur[units], old[units]); int add = (int) weights[pos] / unit; if (units - add > = 0) { cur[units] = math.min(cur[units], old[units - add] + weights[pos]); } } system.arraycopy(cur, 0, old, 0, cur.length); } return old; } public double getsolution(long[] costs) { int n = costs.length; long totalcost = 0; for (int i = 0; i < n; i++) { totalcost += costs[i]; } long[] minforunits = solveknapsack(costs, totalcost); double res = totalcost; long maxunits = totalcost / unit + 1; for (int units = 0; units < = maxunits; units++) { double cur = minforunits[units]; res = math.min(res, gettotalcost(minforunits[units], totalcost - minforunits[units], units)); } return res; } public void solve(scanner in, printwriter out) { int n = in.nextint(); long[] costs = new long[n]; for (int i = 0; i < n; i++) { costs[i] = in.nextint(); } out.printf("%.2f%n", getsolution(costs)); } public static void main(string[] args) { scanner in = new scanner(system.in); printwriter out = new printwriter(system.out); new (in, out); out.flush(); } }

290
432
Посмотреть ответы 2

Ответы на вопрос:

vanyad09
4,4(82 оценок)

Скачай нужный файл.потом перекинь на папку.

program stats; var a,k,d,c: integer; begind: =0; k: =0; c: =0; repeatreadln(a); d: =d+1; if a> = 0thenbegink: =k+1; end; if a< 0thenbeginc: =c+1; end; until d = 14; writeln('+ ',k); writeln('- ',c); readlnend.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS