#include <bits/stdc++.h>
#include <cpuid.h>
using namespace std;
int main()
{
char CPUBrandString[0x40];
unsigned int CPUInfo[4] = {0, 0, 0, 0};
__cpuid(0x80000000, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
unsigned int nExIds = CPUInfo[0];
memset(CPUBrandString, 0, sizeof(CPUBrandString));
for (unsigned int i = 0x80000000; i <= nExIds; ++i)
{
__cpuid(i, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
if (i == 0x80000002)
memcpy(CPUBrandString, CPUInfo, sizeof(CPUInfo));
else if (i == 0x80000003)
memcpy(CPUBrandString + 16, CPUInfo, sizeof(CPUInfo));
else if (i == 0x80000004)
memcpy(CPUBrandString + 32, CPUInfo, sizeof(CPUInfo));
}
cerr << "CPU Type: " << CPUBrandString << endl;
// cout << CPUBrandString << endl;
// stringstream ss;
// ss << CPUBrandString;
// string s = ss.str();
// s.erase(std::remove_if(s.begin(), s.end(), ::isspace),
// s.end());
// cout << s;
const auto processor_count = std::thread::hardware_concurrency();
cout << processor_count;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |