Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Help Me please~~Why The Time Limit?? #include <Stdio.h> #define MAX_N 100000 #define Mu .1e11 int data[101]; float dina[MAX_N][MAX_N]; int main() { FILE *fi; fi = stdin;; int n,m; int i,j; int num[MAX_N]; float prime,price[MAX_N]; int y; while(1){ fscanf(fi,"%d %d",&n,&m); if(n == 0 && m == 0 )break; for(i = 0; i < n; i++){ fscanf(fi,"%d",&data[i]); } for(i = 1; i <= m; i++){ fscanf(fi,"%d %f",&num[i],&prime); price[i] = prime; } for(i = 0; i <= n; i++){ for(j = 0; j <= m; j++){ dina[0][j] = 0; dina[i][0] = Mu; } } y = 0; for(i = 1; i <= n; i++,y++){ for(j = 1; j <= m; j++){ if(data[y] == num[j]){ if(price[j] + dina[i - 1][j - 1] > price[j] + dina[i][j - 1]) dina[i][j] = price[j] + dina[i][j - 1]; else dina[i][j] = price[j] + dina[i - 1][j - 1]; }else{ dina[i][j] = dina[i][j - 1]; } } } if(dina[n][m] == Mu){ printf("Impossible\n"); }else{ printf("%.2f\n",dina[n][m]); } } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator