Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. struct A{
  7. int date, open, fri;
  8.  
  9. };
  10.  
  11. int main()
  12. {
  13. int n, x = 0, f = 0, y = 0;
  14. cin >> n;
  15. vector <A> c(n * 2);
  16. for (int i = 0; i < n * 2; i++){
  17. cin >> c[x].date;
  18. c[x].fri = y;
  19. if(f == 0) {
  20. c[x].open = 0;
  21. f++;
  22. }
  23. else{
  24. c[x].open = 1;
  25. f--;
  26. }
  27. x++;
  28. if(i % 2 != 0 && i != 0) y++;
  29. }
  30. x--;
  31. sort(c.begin(), c.end());
  32. for (int i = 0; i < x + 1; i++) {
  33. cout << c[i].date << ' ' << c[i].open << ' ' << c[i].fri << endl;
  34. }
  35. vector <pair <int, int> > r(n);
  36. for(int i = 0; i < x; i++){
  37. if(c[i - 1].fri == c[i + 2].fri && c[i].fri == c[i + 1].fri){
  38. r[c[i].fri].first = -1;
  39. r[c[i].fri].second = -1;
  40. }
  41. if(c[i].open == 1 && r[c[i].fri].second == 0){
  42. r[c[i].fri].second = c[i].date;
  43. }
  44. if(c[i].open == 0 && c[i - 1].open == 0 && r[c[i - 1].fri].second == 0){
  45. r[c[i - 1].fri].second = c[i].date;
  46. }
  47. if(c[i].open == 0 && r[c[i].fri].first == 0){
  48. r[c[i].fri].first = c[i].date;
  49. }
  50. }
  51. for(int i = 0; i < n; i++){
  52. cout << r[i].first << ' ' << r[i].second << endl;
  53. }
  54. return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement