Advertisement
193030

2017. D WA

Apr 23rd, 2020
546
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.92 KB | None | 0 0
  1. // Example program
  2. #include <iostream>
  3. #include <string>
  4. #include <string.h>
  5. #include <vector>
  6. #include <math.h>
  7. using namespace std;
  8. int stopFlag = 0;
  9. int numberDiff = 0;
  10. int numberIndex = 1;
  11. int prevNumberDiff = 100000;
  12. vector <int> kolona;
  13. int m, k = 0;
  14. int flagEND =0;
  15. int broiTestoveCurrent =0;
  16. void solve(int m, int k)
  17. {
  18.    int flag200 = 0;
  19.     vector <int> tempVector(kolona);
  20.    // cout << "kolona size " << kolona.size() << "tempVector " << tempVector.size() << endl;
  21.   //  cout << "vliza v solve";
  22.     int sum=0;
  23.     numberDiff = tempVector[0];
  24.    // cout << " solve 2"<< endl;
  25.  
  26.     for(int i =0; i<tempVector.size(); i++)
  27.     {
  28.      //   cout << " solve 3 "<< i <<  endl;
  29.  
  30.         int currentNum = tempVector[i];
  31.         if(i==199)
  32.         {
  33.             flag200 = 1;
  34.         }
  35.         numberDiff = abs(m - currentNum);
  36.         if(currentNum % 2 == 0)
  37.         {
  38.             sum+=currentNum;
  39.  
  40.         }
  41.  
  42.         if(numberDiff <prevNumberDiff)
  43.         {
  44.             prevNumberDiff = numberDiff;
  45.             numberIndex = i;
  46.             numberIndex++;
  47.         }
  48.       // cout << "Index " << i << " number diff" << numberDiff << " prev number diff" <<prevNumberDiff <<endl;
  49.  
  50.  
  51.     }
  52.    // cout << "sum before if " << sum << endl;
  53.     //if(sum>=k || stopFlag == 1 || flag200 ==1)
  54.     if(sum>=k || flag200 ==1)
  55.     {
  56.         if(numberIndex==0) numberIndex = 1;
  57.    // cout << "sum " << sum << " numberIndex " << numberIndex << endl;
  58.     cout <<numberIndex << " " << sum << endl;
  59.     flagEND = 1;
  60.     broiTestoveCurrent--;
  61.     stopFlag =0;
  62.     }
  63. }
  64. int main()
  65. {
  66.   int broiTestove =0;
  67.   cin >> broiTestove;
  68.  // cin.ignore();
  69.    broiTestoveCurrent = broiTestove;
  70.   string input;
  71.   int flagFirstTime = 0;
  72.   //while(getline(cin,input))
  73.   while(broiTestoveCurrent>0)
  74.   {
  75.     // cout << "while++" << endl;
  76.      cin >> m;
  77.      cin >> k;
  78.      cin.ignore();
  79.      input = "";
  80.      /*
  81.      getline(cin,input);
  82.      int spaceFlag = input.find(" ");
  83.      cout << "input: " << input << "|"<<endl;
  84.      cout << "Space flag: " << spaceFlag << " m k" << m <<k << endl;
  85.      */
  86.      while(getline(cin,input))
  87.      {
  88.      int  spaceFlag = input.find(" ");
  89.     //  cout << "Space flag: " << spaceFlag << " m k" << m <<k << endl;
  90.      if(spaceFlag==-1) // ako nqma spacove
  91.      {
  92.        /*  if(flagFirstTime)
  93.          {
  94.            solve(m,k);
  95.  
  96.          }
  97.          */
  98.           int currentInputNumber = atoi(input.c_str());
  99.           kolona.push_back(currentInputNumber);
  100.           flagFirstTime++;
  101.           solve(m,k);
  102.  
  103.  
  104.        /*  if(currentInputNumber == 200)
  105.          {
  106.             solve(m,k);
  107.             break;
  108.          }
  109.          */
  110.      }
  111.      else
  112.      {
  113.             solve(m,k);
  114.         //    broiTestoveCurrent--;
  115.             break;
  116.  
  117.      }
  118.      if(flagEND)
  119.      {
  120.          flagEND =0;
  121.          break;
  122.      }
  123.  
  124.   }
  125.     kolona.clear();
  126.     numberIndex =0;
  127. }
  128.   return 0;
  129.  
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement