Хасанбиевич Колесников716
?>

Программисты с кодом, олимпиадная , нужно найти ошибку. нужно найти ошибку в коде. проходит 11 проверок из 12. код: using system; class example { static void main() { int a = int.parse(console. b = int.parse(console. c, d; if (a > = 1) if (a < = 10000000) if (b > = 1) if (b < = 10000000) { if ((a * 50) - (b * 70) < 50) if ((b * 70) - (a * 50) < 50) { if ((a * 50) < (b * 70)) { if * 50) % 60) ! = 0) { c = ((a * 50) / 60) + 1; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(c); console.write(" "); console.write(d); } } else { c = (a * 50) / 60; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(d); console.write(" "); console.write(c); } } } else { if * 70) % 60) ! = 0) { c = ((b * 70) / 60) + 1; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(d); console.write(" "); console.writeline(c); } } else { c = (b * 70) / 60; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(d); console.write(" "); console.writeline(c); } } } } else console.writeline("-1"); else console.writeline("-1"); } else console.writeline("-1"); else console.writeline("-1"); else console.writeline("-1"); else console.writeline("-1"); } } : завод по производству колы изготавливает ее не только для магазинов, но и для всемирно известной сети ресторанов быстрого питания. ежедневно завод отгружает один и тот же объем колы в литрах. служба доставки сети ресторанов обычно использует для транспортировки колы емкости объемом или только 50 литров, или только 70 литров. если доставка осуществляется с емкостей в 50 литров, то для перевозки имеющегося объема колы необходимо a емкостей. а если с емкостей в 70 литров, то необходимо b емкостей. при этом в каждом из случаев одна из емкостей может быть заполнена не полностью. недавно сеть ресторанов решила утвердить новый объем емкостей для доставки колы — 60 литров. сколько емкостей теперь может понадобиться для доставки того же самого объема колы?

Информатика

Ответы

mirsanm26249
Запишу сначала за вас условие до конца:
Первая строка ввода содержит два числа A и B, разделенных пробелом (1 ≤ A, B ≤ 10 000 000).Выведите все возможные значения для количества емкостей по 60 литров, которые окажутся заполненными (в том числе одна возможно частично), в порядке возрастания или число −1, если значения A и B противоречат друг другу, то есть они были записаны неверно.

Теперь к вопросам по форме. 
Во-первых, если в условии указаны ограничения на входные данные, им можно верить, проверять, что 1 <= A, B <= 10000000 не обязательно. 
Во-вторых, научитесь пользоваться &&, ||, это позволит не дублировать код. 4 раза написанное else Console.WriteLine("-1"); не очень читать.

А уже теперь по сути.
Ваше условие противоречивости условия |50A - 70B| < 50 нехорошее. Если общий объем колы, например, 141, то A = 3, B = 3, но при этом |50A - 70B| = 60, что больше 50.

Смотрю дальше.
если 50A < 70B, то если 50A не делится на 60, то ответ [(50A - 49)/60] + 1 или [50A/60] + 1 (если это одно и то же, не важно). Это тоже как минимум не очевидно: представим, что [(70B-69)/60] + 1 оказался больше, чем [(50A-49)/60] + 1. Тогда ответ точно неверен.

Какие были бы мои рассуждения:
Поищем, какое могло бы быть общее количество колы. Пусть её N, тогда
50(A - 1) < N <= 50A
70(A - 1) < N <= 70B
Тогда max(50A - 50, 70B - 70) < N <= min(50A, 70B). 
Если max(50A - 50, 70B - 70) >= min(50A, 70B), то решений нет, надо выводить -1. Иначе думаем дальше.
Строгое неравенство иметь что-то не хочется, сделаем из него нестрогое. Если добавлю к левой части 1, то количество 60-литровых ёмкостей явно не поменяется, зато неравенство станет нестрогим. Пусть так и будет, раз ответ не меняется. Только в проверке равенство поменяю на строгое.
max(50A - 50, 70B - 70) + 1 <= N <= min(50A, 70B)
Теперь просто считаем число ёмкостей слева, справа, и выводим все числа от первого до второго.

Поняв всё это, просто превращаем слова в программу.
using System;
class CocaCola
{
  public static void Main (string[] args)
  {
    int A = int.Parse(Console.ReadLine()), 
        B = int.Parse(Console.ReadLine());
    int lowerLimit = Math.Max(50 * A - 50, 70 * B - 70) + 1;
    int upperLimit = Math.Min(50 * A, 70 * B);
    if (lowerLimit > upperLimit)
    {
      Console.Write(-1);
      return;
    }
    for (int i = (int)Math.Ceiling(lowerLimit / 60.0); i <= Math.Ceiling(upperLimit / 60.0); i++)
      Console.Write("{0} ", i);
  }
}
migor72
//Pascal ABC.NET 3.1 сборка 1219

Const
 n=5;

Var
 max1,max2,min1,min2,i:integer;
 ar:array[1..n] of integer;
begin
 max1:=integer.MinValue;
 max2:=integer.MinValue;
 min1:=integer.MaxValue;
 min2:=integer.MaxValue;
 for i:=1 to n do
  begin
   readln(ar[i]);
   if (ar[i]<max1) and (ar[i]>max2) then max2:=ar[i] else
   if ar[i]>max1 then
   begin
   max2:=max1;
   max1:=ar[i];
   end;
   if (ar[i]>min1) and (ar[i]<min2) then min2:=ar[i] else
   if ar[i]<min1 then
   begin
   max2:=max1;
   min1:=ar[i];
   end;
  end;
 writeln('Сумма максимумов:',max1+max2);
 writeln('Cумма минимумов:',min1+min2);
end.

Пример ввода:
1
2
3
4
5
Пример вывода:
Сумма максимумов:9
Cумма минимумов:3
xarchopuri22
//Pascal ABC.NET 3.1 сборка 1219

Var
 ar:array of integer;
 i,n:integer;

 procedure quicksort(var a:array of integer; Lo,Hi: integer);

procedure sort(l,r: integer);
var
i,j,x:integer;
begin
i:=l;
 j:=r;
 x:=a[random(r-l+1)+l];
repeat
while a[i]>x do i:=i+1;
 while x>a[j] do j:=j-1;
  if i<=j then
   begin
    if a[i]<a[j] then swap(a[i],a[j]);
    i:=i+1;
 j:=j-1;
  end;
    until i>=j;
  if l<j then sort(l,j);
  if i<r then sort(i,r);
end;

begin;
  randomize;
  sort(Lo,Hi)
end;

 begin
 readln(n);
 setlength(ar,n);
 n:=n-1;
 writeln('Array:');
 for i:=0 to n do
  begin
   ar[i]:=random(10);
   write(ar[i]:4);
  end;
 quicksort(ar,0,n);
 writeln;
 writeln('Final array:');
 for i:=0 to n do
 write(ar[i]:4);
end.

Пример ввода:
5
Пример вывода:
Array:
   8   7   5   9   4
Final array:
   9   8   7   5   4

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Программисты с кодом, олимпиадная , нужно найти ошибку. нужно найти ошибку в коде. проходит 11 проверок из 12. код: using system; class example { static void main() { int a = int.parse(console. b = int.parse(console. c, d; if (a > = 1) if (a < = 10000000) if (b > = 1) if (b < = 10000000) { if ((a * 50) - (b * 70) < 50) if ((b * 70) - (a * 50) < 50) { if ((a * 50) < (b * 70)) { if * 50) % 60) ! = 0) { c = ((a * 50) / 60) + 1; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(c); console.write(" "); console.write(d); } } else { c = (a * 50) / 60; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(d); console.write(" "); console.write(c); } } } else { if * 70) % 60) ! = 0) { c = ((b * 70) / 60) + 1; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(d); console.write(" "); console.writeline(c); } } else { c = (b * 70) / 60; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(d); console.write(" "); console.writeline(c); } } } } else console.writeline("-1"); else console.writeline("-1"); } else console.writeline("-1"); else console.writeline("-1"); else console.writeline("-1"); else console.writeline("-1"); } } : завод по производству колы изготавливает ее не только для магазинов, но и для всемирно известной сети ресторанов быстрого питания. ежедневно завод отгружает один и тот же объем колы в литрах. служба доставки сети ресторанов обычно использует для транспортировки колы емкости объемом или только 50 литров, или только 70 литров. если доставка осуществляется с емкостей в 50 литров, то для перевозки имеющегося объема колы необходимо a емкостей. а если с емкостей в 70 литров, то необходимо b емкостей. при этом в каждом из случаев одна из емкостей может быть заполнена не полностью. недавно сеть ресторанов решила утвердить новый объем емкостей для доставки колы — 60 литров. сколько емкостей теперь может понадобиться для доставки того же самого объема колы?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

krasa28vostok65
yurazharov
Zimin1111
Гарик383
Ivanova.i.bkrasheninnikov
nchorich55
федороа
Alnkseevna
ivan-chay19
anazarov80
Смирнов_Андрей691
petria742
tatianaavoronina66
araqsyabadalyan1988