Автор | Сообщение |
|
Отправлено: 24.01.23 11:21. Заголовок: Задача 5935
как я не старался но ответ у меня почему то 149958 6564 что не так? вот мой код f=open('26-98.txt') n,s=map(int,f.readline().split()) a=[] mx=0 for i in range(n): x,y=f.readline().split() x=int(x) if y=='AC': x=round(x*0.9) if y=='BC': x=round(x*0.8) a.append((x,y)) a.sort() print(a) d=0 i=0 while d+a[ i][0]<=s: d+=a[ i][0] if len(a [ i][1])==2: mx=max(mx,a[ i][0]) i+=1 #print(s,d,d+a[ i][0],a[i-1][0],a[ i][0]) d-=a[i-1][0] dd=s-d #print(d,dd,a[i-1][0]) while a[ i][0]<dd: i+=1 if len(a[i-1][1])==2: mx=max(mx,a[i-1][0]) print(d+a[i-1][0],mx)
|
 |

|
Ответов - 1
[только новые]
|
|
|
Отправлено: 24.01.23 11:39. Заголовок: 4368 последний котор..
4368 последний который влез сумма станет 147762 4392 следующий который уже не влез сумма станет 152154 убираем 4368 сумма станет 143394 осталось места 6606 ищем максимальный который влезет это 6564 143394 + 6564=149958
|
 |

|