Bài mẫu độ phức tạp O( N^3 )

Trần Nguyên Vũ  •  2 tháng trước


Bài mẫu này chỉ đúng tới case thứ 10. Dùng tới 3 for lồng vào nhau để kiểm tra các cặp và kết hợp với phép đồng dư để tối ưu hoá kiểu llu. https://viblo.asia/p/so-hoc-dong-du-phan-1-dong-du-thuc-va-nghich-dao-modulo-Az45b0aqZxY

#include <stdio.h>
#define MAX 100000

int main()
{
    unsigned long long n,m,a[MAX],dem=0;
    scanf("%llu%llu",&n,&m);
    
    for(unsigned long long i=0;i<n;i++)
      scanf("%llu",&a[i]);
      
    for(unsigned long long i=0;i<n;i++)
      for(unsigned long long j=0;j<n;j++)
        for(unsigned long long k=0;k<n;k++)
          {
            if (((a[i]%m)*(a[j]%m)*(a[k]%m))%m == 0) {
              dem++;
            }
          }
        
    printf("%llu",dem);
    return 0;
}

Bình luận: