Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva Infoarena Monthly / Răspuns: 003 Bursa : Februarie 24, 2012, 23:38:37
EU CHEAR NU INTZELEG , imi pare ca ideia este corecta , cine ma poate ajuta va rog sami explicatzi ce nu e bine!

#include<stdio.h>
#define dim 100010
int n; long long s; int v[dim],c[dim];

Cod:
int main(){
    int i; long long max=0;
    freopen("bursa.in","r",stdin);
    freopen("bursa.out","w",stdout);
    scanf("%d %lld\n",&n,&s);
    for(i=1;i<=n;i++){ scanf("%d",&c[i]); v[i]=c[i]; }
    for(i=n;i>=1;i--){
        if (v[i]>=max) max=v[i];
        v[i]=max;
    }max=0;
    for(i=1;i<=n;i++){
        if(s/c[i]*v[i+1]-s+s%c[i]>max){
            max=s/c[i]*v[i+1]-s+s%c[i];
        }
    }
    printf("%lld\n",max);
}
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 018 Cautare binara : Ianuarie 23, 2012, 22:21:42
Interesant ! Obtin 60 de puncte doar si de 1 ora numi dau seama ceam gresit! Ma uit mai atent si observ ca limita de memorie e cam mica pe chind eu facusem recursiv problema ! Si cel mai interesant ca ari trebui sa anunte cel putin prin Limita de memorie depasita sau ceva de genu dar sa nu scrie la teste Incorect!  Smile
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 001 CMMDC : Martie 19, 2011, 11:35:37
devilkind ... Iti multumesc foarte mult Smile Eu defapt am luat in consideratie si daca este una dintre cifre, doar ca am gresit putin in loc sa pun while((a!=i-1) and (b!=i-1)); am pus while((a!=i+1) and (b!=i+1)); Mersi mult am vazut unde este greseala privind algoritmul cred ca stiu o ideie mai buna doar ca trebu mai multe instructiuni de scris, adica daca cea mai mare cifra din cele doua este de exemplu 12 voi face un ciclu care voi cauta pina la 12/2 si daca se divid ambele numere de exemplu cu 2 si cu 3 inseamna ca se divid si cu 6 Smile
4  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 001 CMMDC : Martie 18, 2011, 23:20:09
Norok baeti ea spuneti si mie unde e greseala aici ? eu sunt din moldova noi invatam pascalul cu c++ de aceia va rog sa nu ma criticati tare Very Happy sunt incepator Smile

#include <stdio.h>
int main()
{
   long int a,b,c,i;
   FILE *f1;
   FILE *f2;
   f1=freopen("cmmdc.in","r",stdin);
   f2=freopen("cmmdc.out","w",stdout);
   fscanf(f1,"%d %d",&a,&b);
    i=1;
    do {
       if ((a % i==0) and (b % i==0)){c=i;}
       i++;
    }
   while((a!=i+1) and (b!=i+1));
      if (c==1) c=0;
   fprintf(f2,"%d\n",c);
    fclose(f1);
    fclose(f2);
   return 0;
}
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines