Advertisement
Guest User

Untitled

a guest
Jan 24th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  6.  
  7. int max(int a, int b) {
  8. if (a < b)
  9. return b;
  10. return a;
  11. }
  12.  
  13. int main(void) {
  14. int n, m, t[100]={0}, a[100]={0}, t0=0, res[100]={-1}, bol=1;
  15. scanf("%d%d", &n, &m);
  16. for(int i=0; i<n; i++) {
  17. scanf("%d%d", &t[i], &a[i]); --a[i];
  18. res[i] = -1;
  19. }
  20. while(bol!=0) {
  21. bol=0;
  22. int min=-1;
  23. for(int i=0; i<n; i++) {
  24. if(res[i] == -1 && (min == -1 || t[i]<t[min])) {
  25. min=i;
  26. }
  27. }
  28. t0=max(t0, t[min])+a[min];
  29. for(int i=0; i<n; i++) {
  30. if(res[i] == -1 && a[min]>=a[i]&&t0+a[min]>=t[i]+a[i]) {
  31. res[i]=t0+a[min];
  32. }
  33. }
  34. t0+=a[min];
  35. for(int j=0; j<n; j++) {
  36. if(res[j]==-1) {
  37. bol=1;
  38. }
  39. }
  40. }
  41. for(int i=0; i<n; i++) {
  42. printf("%d\n", res[i]);
  43. }
  44. return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement