#include <cstdio> int main(){ int i,c,n,minPocz,maxPocz,minKon,maxKon,lk; long long sumaPocz,sumaKon,upSumaPocz,upSumaKon,l,a,b; scanf("%d",&c); while(c--){ //data initialazing.... minPocz = minKon = 1000005; maxPocz = maxKon = 0; sumaPocz = sumaKon = upSumaPocz = upSumaKon = 0LL; //printf("%d %d",minPocz,minKon); scanf("%d",&n); for(i=0; i<n; i++){ scanf(" %lld %lld %lld",&l,&a,&b); sumaPocz += l*a; if(sumaPocz > 1000000000000000LL){ upSumaPocz += sumaPocz / 1000000000000000LL; sumaPocz %= 1000000000000000LL; } sumaKon += l*b; if(sumaKon > 1000000000000000LL){ upSumaKon += sumaKon / 1000000000000000LL; sumaKon %= 1000000000000000LL; } if( a<minPocz ){ minPocz = a; //lk = l; } if( b<minKon ) minKon = b; if( a>maxPocz ) maxPocz = a; if( b>maxKon ) maxKon = b; //printf("i:%d sP:%I64d sK%I64d\n",i,sumaPocz,sumaKon); } //&&(((float)(minPocz * lk)/2 * maxPocz >= minKon)) //printf("sp:%I64d sK: %I64d, minP:%d, maxP:%d, minK:%d, maxK%d, next:%f\n",sumaPocz,sumaKon,minPocz,maxPocz,minKon,maxKon,(float)minPocz/(float)lk/2 * maxPocz); if((sumaPocz == sumaKon)&&(upSumaPocz == upSumaKon)&&(minPocz <= minKon)&&(maxPocz >= maxKon)) printf("TAK\n"); else printf("NIE\n"); } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include <cstdio> int main(){ int i,c,n,minPocz,maxPocz,minKon,maxKon,lk; long long sumaPocz,sumaKon,upSumaPocz,upSumaKon,l,a,b; scanf("%d",&c); while(c--){ //data initialazing.... minPocz = minKon = 1000005; maxPocz = maxKon = 0; sumaPocz = sumaKon = upSumaPocz = upSumaKon = 0LL; //printf("%d %d",minPocz,minKon); scanf("%d",&n); for(i=0; i<n; i++){ scanf(" %lld %lld %lld",&l,&a,&b); sumaPocz += l*a; if(sumaPocz > 1000000000000000LL){ upSumaPocz += sumaPocz / 1000000000000000LL; sumaPocz %= 1000000000000000LL; } sumaKon += l*b; if(sumaKon > 1000000000000000LL){ upSumaKon += sumaKon / 1000000000000000LL; sumaKon %= 1000000000000000LL; } if( a<minPocz ){ minPocz = a; //lk = l; } if( b<minKon ) minKon = b; if( a>maxPocz ) maxPocz = a; if( b>maxKon ) maxKon = b; //printf("i:%d sP:%I64d sK%I64d\n",i,sumaPocz,sumaKon); } //&&(((float)(minPocz * lk)/2 * maxPocz >= minKon)) //printf("sp:%I64d sK: %I64d, minP:%d, maxP:%d, minK:%d, maxK%d, next:%f\n",sumaPocz,sumaKon,minPocz,maxPocz,minKon,maxKon,(float)minPocz/(float)lk/2 * maxPocz); if((sumaPocz == sumaKon)&&(upSumaPocz == upSumaKon)&&(minPocz <= minKon)&&(maxPocz >= maxKon)) printf("TAK\n"); else printf("NIE\n"); } return 0; } |