社区讨论
Python一个小细节
P1873[COCI 2011/2012 #5] EKO / 砍树参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo2hsx11
- 此快照首次捕获于
- 2023/10/23 14:04 2 年前
- 此快照最后确认于
- 2023/10/23 14:04 2 年前
读入不要使用eval(),使用int()才能过。想了一个下午,我还以为是算法的问题。
PYTHONN,M=map(int,input().split())
lt=[int(i) for i in input().split()]
lt.sort(reverse=True)
cnt,h=0,0
if N==1:
print(lt[0]-M)
else:
for i in range(N-1):
cnt+=(lt[i]-lt[i+1])*(i+1);h+=(lt[i]-lt[i+1])
if cnt>M:
break
print(lt[0]-h+(cnt-M)//(i+1))
这样就不能过。显示超时。
PYTHONN,M=map(int,input().split())
lt=[eval(i) for i in input().split()]
lt.sort(reverse=True)
cnt,h=0,0
if N==1:
print(lt[0]-M)
else:
for i in range(N-1):
cnt+=(lt[i]-lt[i+1])*(i+1);h+=(lt[i]-lt[i+1])
if cnt>M:
break
print(lt[0]-h+(cnt-M)//(i+1))
回复
共 0 条回复,欢迎继续交流。
正在加载回复...