如何在codeforce codechef等中提交代码?

时间:2014-02-05 01:23:53

标签: python

我在codeforce上尝试了一个简单的问题 http://codeforces.com/problemset/problem/389/A
这是我的解决方案

def main():
    input_size = int(input())
    numbers = []
    for i in range(input_size):
        #print('Enter ',i,' value')
        numbers.append(int(input()))
    #print(numbers)
    zeros_count,i = 0,0
    while True:
        #print(numbers)
        i=i%(input_size-1)
        if numbers[i]<numbers[i+1]:
            numbers[i+1] = numbers[i+1]-numbers[i]
            #print(i+1,'-',i,end='\n\n')
            zeros_count = 0
        elif numbers[i]>numbers[i+1]:
            numbers[i]=numbers[i]-numbers[i+1]
            #print(i,'-',i+1,end='\n\n')
            zeros_count = 0
        if numbers[i] == numbers[i+1]:
            zeros_count+=1
            #print(i,'and',i+1,'are equal');
        i+=1
        if zeros_count == input_size-1:
            break
        if zeros_count == 20:
            break;
    s = 0;
    for i in range(0,input_size,1):
        s+=numbers[i];
    print(s);
main()

这段代码在我的计算机上工作正常,但是当我提交它时,他们说第一种情况下的运行时错误是2 1 2.很可能我输入输入或输出的方式有问题。
你能告诉我我在哪里做错了。当我试图在codechef中提交代码时出现类似的问题

1 个答案:

答案 0 :(得分:0)

首先,你的逻辑错了。您的代码在while循环中无限运行。 这是我在python中的正确代码

n=int(input())
a=map(int,raw_input().split())
a.sort()
while(True):
if(a[0]==a[n-1]):
    break;
for i in range(n-1,0,-1):
    if(a[i]>a[i-1]):    
        a[i]=a[i]-a[i-1]
a.sort()
print sum(a)