Guest User

Untitled

a guest
Jun 23rd, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include<fstream>
  2. #include<algorithm>
  3. #include<vector>
  4. using namespace std;
  5.  
  6.  
  7. int n,c;
  8. int v[20000], a[10];
  9.  
  10. vector<int> res;
  11.  
  12. void normalize(int v[], int n)
  13. {
  14.     sort(v, v+c);
  15.     int base = v[0];
  16.     for(int i = 0; i < c; i++)
  17.         v[i] -= base;
  18. }
  19.  
  20. void leggiFile()
  21. {
  22.     ifstream in("moosick.in");
  23.  
  24.     in >> n;
  25.     for(int i = 0; i < n; i++)
  26.         in >> v[i];
  27.  
  28.     in >> c;
  29.     for(int i = 0; i < c; i++)
  30.         in >> a[i];
  31.  
  32.     normalize(a, c);
  33.  
  34.     in.close();
  35. }
  36.  
  37. void scriviRis()
  38. {
  39.     ofstream out("moosick.out");
  40.     out << res.size() << "\n";
  41.     for(int i = 0; i < res.size(); i++)
  42.         out << res[i] << "\n";
  43.     out.close();
  44. }
  45.  
  46. void calcola()
  47. {
  48.     int w[10];
  49.     for(int i = 0; i < n-c+1; i++)
  50.     {
  51.         for(int j = 0; j < c; j++)
  52.             w[j] = v[i+j];
  53.  
  54.         normalize(w, c);
  55.  
  56.         bool equals = true;
  57.         for(int j = 0; j < c; j++)
  58.             if(w[j] != a[j])
  59.             {
  60.                 equals = false;
  61.                 break;
  62.             }
  63.  
  64.         if(equals)
  65.             res.push_back(i+1);
  66.     }
  67. }
  68.  
  69. int main()
  70. {
  71.     leggiFile();
  72.     calcola();
  73.     scriviRis();
  74. }
Add Comment
Please, Sign In to add comment