제출 #844255

#제출 시각아이디문제언어결과실행 시간메모리
844255vjudge1Spiderman (COCI20_spiderman)C++17
0 / 70
406 ms117716 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"
#define all(c) (c).begin(), (c).end()

const int N = 1e6 + 6;
int cnt[N],freq[N];

void solve(){	

	int n,k;
	cin >> n >> k;

	vector<int> v(n),ans(n);
	for(int i = 0; i < n; i++){
		cin >> v[i];
		if(v[i] > k) freq[v[i]]++;
	}

	for(int i = 1; i < N; i++){
		for(int j = i; j < N; j += i){
			cnt[j] += freq[i];
		}
	}

	int fuck = 0;
	for(int i = n - 1; i >= 0; i--){
		if(v[i] > k){
			ans[i] = cnt[v[i] - k];
		}
		else if(v[i] == k) ans[i] = fuck;
		fuck += (v[i] > k);
	}

	for(int x : ans){
		cout << x << ' ';
	}

}

signed main(){

	#ifndef ONLINE_JUDGE
		freopen("in.txt","r",stdin); freopen("out.txt","w",stdout);
	#endif

	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int t = 1;
//	cin >> t;

	while(t--){
		solve();
	}

	return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

spiderman.cpp: In function 'int main()':
spiderman.cpp:45:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   45 |   freopen("in.txt","r",stdin); freopen("out.txt","w",stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~
spiderman.cpp:45:39: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   45 |   freopen("in.txt","r",stdin); freopen("out.txt","w",stdout);
      |                                ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...