#include int zadani[1000000][3]; int max; int cesta(int a, int b) { int pom, delka; delka=0; for(pom=a+1; pom < b ; pom++) { delka+=zadani[pom][0]; } /* printf(" cesta %d %d je %d",a,b,delka); */ return delka; } int reseni(int token) { int pocet, pom, mod, pom_c; if (token==0) return 0; pom=token-1; pocet=0; mod=0; while ((pom>=0)) { pom_c=cesta(pom,token); if (zadani[pom][1]>pom_c) { /* printf("--%d--",pom); */ pocet=pom; mod=1; } if (pom_c==max) break; pom--; }; if (mod==0) return 0; else return (token-pocet); } int main () { int n, cislo_zadani, token; int a,b,pom; scanf("%d", &n); for (cislo_zadani=1; cislo_zadani <= n ; cislo_zadani++) { printf("Zadani %d:\n", cislo_zadani); scanf("%d %d", &a, &b); token=0; max=0; while (!((a==0) && (b==0))) { zadani[token][0]=a; zadani[token][1]=b; if (b>max) max=b; token++; scanf("%d %d", &a, &b); } for(pom=0; pom < token ; pom++) { printf("%d\n",reseni(pom)); } printf("\n"); } return 0; }