Advertisement
bogolyubskiyalexey

checker for K

Sep 23rd, 2017
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include "testlib.h"
  5.  
  6. using namespace std;
  7.  
  8. vector<int> readUserAnswer(InStream& in) {
  9.     vector<int> v;
  10.     int size = in.readInt();
  11.     in.skipBlanks();
  12.     string numbers = in.readLine();
  13.     string ku = in.readToken();
  14.    
  15.     stringstream ss(numbers);
  16.     for (int buf; ss >> buf;) {
  17.         v.push_back(buf);            
  18.     }
  19.    
  20.     if (size != v.size()) {
  21.         quitf(_wa, "Incorrect user answer format: diff size");
  22.     }
  23.     if (ku != "ku!") {
  24.         quitf(_wa, "Incorrect user answer format: incorrect ku!");
  25.     }
  26.     return v;
  27. }
  28.  
  29.  
  30. int main(int argc, char* argv[]) {
  31.     registerTestlibCmd(argc, argv);
  32.    
  33.     int N = inf.readInt();
  34.     vector<int> a(N, 0);
  35.     for (int i = 0; i < N; ++i) {
  36.         a[i] = inf.readInt();
  37.     }
  38.     int answer = ans.readInt();
  39.    
  40.     auto user = readUserAnswer(ouf);
  41.     if (user.size() != answer) {
  42.         quitf(_wa, "Incorrect answer: incorrect size");
  43.     }
  44.     for (int i = 0, j = 0; j < answer; ++j) {
  45.         while (i < N && a[i] != user[j]) {
  46.             i++;
  47.         }
  48.         if (i == N) {
  49.             quitf(_wa, "Incorrect answer: incorrect seq");
  50.         }
  51.     }
  52.     quitf(_ok, "ok");
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement