Codeforces Round 995 (Div. 3)

A. Preparing for the Olympiad

题解:

#include 

using namespace std;

int main(){
    int t;
    cin>>t;
    vector a;
    vector b;
    vector ans;
    while(t--) {
        int n=0,num=0,temp=0;
        cin>>n;
        for(int i=0;i>num;
            a.push_back(num);
        }
        for(int i=0;i>num;
            b.push_back(num);
        }
        for(int i=0;ib[i+1]) {
                temp+=a[i]-b[i+1];
            }
        }
        temp+=a[n-1];
        ans.push_back(temp);
        a.clear();
        b.clear();
    }
    for(auto i:ans) {
        cout<

B. Journey

题解:

#include 

int main(){
  int t;
  std::cin >> t;
  int n, a, b, c;
  while(t--){
    std::cin >> n >> a >> b >> c;
    int res = 0;
    res = n / (a + b + c) * 3;
    n %= a + b + c;
    if(n != 0)  res = n <= a ? res + 1 : n <= a + b ? res + 2 : res + 3;
    std::cout << res << std::endl;
  }
  
  return 0;
}

C. Preparing for the Exam

题解:

#include 

int main(){
  int t;
  std::cin >> t;
  int n, m, k;
  while(t--){
    std::cin >> n >> m >> k;
    int sum = 0, target = 0;
    for(int i = 1; i <= n; i++) target += i;
    std::vector arr_1(m), arr_2(k);
    for(int i = 0; i < m; i++) {
      std::cin >> arr_1[i];
    }
    for(int i = 0; i < k; i++) {
      std::cin >> arr_2[i];
      sum += arr_2[i];
    }
    std::string res = "";
    if(k < n - 1) {
      while(m--) res += "0";
      std::cout << res << std::endl;
    }else if(k >= n) {
      while(m--) res += "1";
      std::cout << res << std::endl;
    }else {
      for(int i = 0; i < m; i++) {
        if(sum + arr_1[i] != target) res += "0";
        else res += "1";
      }
      std::cout << res << std::endl;
    }
  }
  
  return 0;
}

你可能感兴趣的:(Codeforces,算法,c++,数据结构)