makrusak

Untitled

Feb 18th, 2014
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.82 KB | None | 0 0
  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <iostream>
  4. #include <algorithm>
  5. #include <vector>
  6. #include <string>
  7. #include <string.h>
  8. #include <queue>
  9. #include <stack>
  10. #include <deque>
  11. #include <map>
  12. #include <set>
  13. #include <cmath>
  14. #include <sstream>
  15. #include <ctime>
  16.  
  17. #define pb push_back
  18. #define mp make_pair
  19. #define PI 3.1415926535897932384626433832795
  20. #define ALL(x) x.begin(), x.end()
  21. #define F first
  22. #define S second
  23. #define m0(x) memset(x,0,sizeof(x))
  24. #define m1(x) memset(x,-1,sizeof(x))
  25. #define pw(x) (1ull<<(x))
  26.  
  27. using namespace std;
  28. typedef long long ll;
  29. typedef unsigned long long ull;
  30. typedef long double ld;
  31. typedef pair<int,int> pii;
  32. const int INF = 2147483647;
  33. const ll LLINF = 9223372036854775807LL;
  34.  
  35. template< typename Container>
  36. typename Container::value_type sum(Container x) {
  37.   typename Container::value_type ans = *x.begin();
  38.   for (typename Container::iterator it = ++x.begin();it!=x.end();it++) ans+=*it;
  39.   return ans;
  40. }
  41.  
  42. template< typename Container>
  43. typename Container::value_type returnLastRepeat(Container cont) {
  44.   for (typename Container::reverse_iterator rIt1 = cont.rbegin(); rIt1 != cont.rend(); rIt1++) {
  45.     typename Container::reverse_iterator rIt2 = rIt1;
  46.     rIt2++;
  47.     for (; rIt2 != cont.rend(); rIt2++) {
  48.       if (*rIt1 == *rIt2) {
  49.         cout << *rIt1 << " " << *rIt2 << "\n";
  50.         return *rIt1;
  51.       }
  52.     }
  53.   }
  54.   cout << "Error! There are no repeating elements in the container! " << endl;
  55.   exit(0);
  56. }
  57.  
  58. int main() {
  59.   //freopen("input.txt", "r", stdin);
  60.   //freopen("output.txt", "w", stdout);
  61.   int a[4] = {1, 2, 3};
  62.   vector<int> x(a, a+4);
  63.   cout << sum(x) << "\n";
  64.  
  65.   double mass1[5] = {1.3, 5.7, 9.4, 5.8, 10.3};
  66.   set<double> cont2 (mass1, mass1+5);
  67.   double rep_set = returnLastRepeat(cont2);
  68.   cout << rep_set << endl;
  69.   return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment