您的当前位置:首页正文

蓝桥杯 灯笼大乱斗【算法赛】

2025-03-14 来源:个人技术集锦

 [L,R]必胜,只需要看R+1和R的关系就好了,如果R+1能赢R,则R+1必胜[L,R]

具体证明不会

#include <iostream>
using namespace std;
int main()
{
  int n;
  cin>>n;
  int an[n], bn[n], cn[n];
  
  for(int i=0; i<n; i++){
    cin>>an[i];
  } 
  for(int i=0; i<n; i++){
    cin>>bn[i];
  } 
  
  long long int num = 1, res = 0;
  for(int i=1; i<n; i++){
      if(bn[i] > bn[i-1]){
        if(an[i] - bn[i] > an[i-1] - bn[i-1]){
          res += num;
          ++num;
        }
        else{
          num = 1;
        }
      }
      else{
        if(an[i] + bn[i] > an[i-1] + bn[i-1]){
          res += num;
          ++num;
        }
        else{
          num = 1;
        }
      }
  }
  cout<< res;
  return 0;
}

结果res类型必须为longlongint ,int是不行的

Top