eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingpython,problem z szybkościa algorytmupython,problem z szybkościa algorytmu
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.
    org.pl!news.uni-stuttgart.de!news-2.dfn.de!news.dfn.de!feeder.erje.net!proxad.n
    et!feeder1-2.proxad.net!64.233.160.134.MISMATCH!postnews.google.com!j18g2000yql
    .googlegroups.com!not-for-mail
    From: t...@o...pl
    Newsgroups: pl.comp.programming
    Subject: python,problem z szybkościa algorytmu
    Date: Fri, 22 May 2009 02:12:51 -0700 (PDT)
    Organization: http://groups.google.com
    Lines: 50
    Message-ID: <2...@j...googlegroups.com>
    NNTP-Posting-Host: 193.34.2.1
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1242983571 13399 127.0.0.1 (22 May 2009 09:12:51 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Fri, 22 May 2009 09:12:51 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: j18g2000yql.googlegroups.com; posting-host=193.34.2.1;
    posting-account=zePNcgoAAABVE3Xykwx5dJzJQW3DvydV
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0;
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1;
    .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.1; .NET CLR
    3.5.30729; .NET CLR 3.0.30618),gzip(gfe),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:182112
    [ ukryj nagłówki ]

    Witam,
    mam problem z poniższym kodem ponieważ nie został zaakceptowany
    przez
    spoj z powodu błędu "limit czasu został przekroczony".
    Proszę o pomoc w optymalizacji tego kodu lub w wyborze innego
    szybszego algorytmu.

    Zadanie znajduje się pod adresem http://pl.spoj.pl/problems/KC024


    def a(sum,tab):


    n=len(tab)
    tmp=sum


    for i in range(n):
    if sum-int(tab[i])>=0:
    sum=sum-int(tab[i])
    if sum==0:
    return 1


    for j in range(i+1,n):
    if sum-int(tab[j])>=0:


    sum=sum-int(tab[j])
    if sum==0:
    return 1


    sum=tmp


    while 1:
    try:
    we = raw_input().split()
    except EOFError: break
    W=int(we[0])
    tab=we[2:]


    tab.sort(reverse=1)
    if a(W,tab):
    print "1"
    else:print "0"


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: