aboutsummaryrefslogtreecommitdiff
path: root/doc/tests/fontes/abacaxi-yes.c
diff options
context:
space:
mode:
Diffstat (limited to 'doc/tests/fontes/abacaxi-yes.c')
-rw-r--r--doc/tests/fontes/abacaxi-yes.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/doc/tests/fontes/abacaxi-yes.c b/doc/tests/fontes/abacaxi-yes.c
new file mode 100644
index 0000000..3b9d1a0
--- /dev/null
+++ b/doc/tests/fontes/abacaxi-yes.c
@@ -0,0 +1,48 @@
+/* Copyright 2001 Maratona de Programacao do IME-USP -- cef@ime.usp.br
+ */
+
+#include <stdio.h>
+
+int main(int argc, char *argv[])
+{
+ FILE * ent;
+ int cont = 0;
+ int n, num, rec[1000], desp[1000], soma, i, inic, somamax, imax, fmax;
+
+ ent = stdin;
+ fscanf(ent, "%d", &n);
+ while (n > 0){
+ cont++;
+ printf("Fazenda %d\n", cont);
+ for (i = 0; i < n; i++) fscanf(ent, "%d", &rec[i]);
+ for (i = 0; i < n; i++) fscanf(ent, "%d", &desp[i]);
+ somamax = -1;
+ imax = 0;
+ fmax = 0;
+ soma = 0;
+ inic = 1;
+ for (i = 0; i < n; i++){
+ num = rec[i] - desp[i];
+ if (soma + num >= 0){
+ soma += num;
+ if (soma > somamax){
+ imax = inic;
+ fmax = i + 1;
+ somamax = soma;
+ }
+ }
+ else{
+ inic = i + 2;
+ soma = 0;
+ }
+ }
+ if(somamax >= 0)
+ printf("Inicio %d Fim %d\n\n", imax, fmax);
+ else
+ printf("O produtor so teve prejuizo nesta fazenda\n\n");
+
+ fscanf(ent, "%d", &n);
+ }
+ return(0);
+}
+