排序,

遍历,需要裁减

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX 20000

int cows[MAX];
int N;
int L;

int cmp(const void * a, const void * b) {
    return *(int *)a - *(int *)b;    
}

int main() {
    int i;
    int j, k;
    int count;
    count = 0;
    scanf("%d%d", &N, &L);
    for(i = 0; i < N; i++) {
        scanf("%d", &cows[i]);   
    }
    qsort(cows, N, sizeof(cows[0]), cmp);  
    for(j = 0; j < N; j++) {
        if(cows[j] > L) {
            break;     
        }
        for(k = j + 1; k < N; k++) {
            if(cows[k] > L) {
                break;     
            } 
            if(cows[j] + cows[k] <= L) {
                count ++;     
            }
            else {
                break;     
            }
        }     
    } 
    printf("%d\n", count);
    return 0;
}

  

相关文章:

  • 2022-02-12
  • 2021-06-09
  • 2021-07-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-14
  • 2021-09-25
  • 2022-12-23
  • 2021-11-21
  • 2021-08-03
相关资源
相似解决方案