Придумайте свою задачу, для решения которой необходимо воспользоваться инструментом Поиск редакции на дату (подсказка – правовая норма должна измениться).
компилятор и отладчики для создания программ под реальный режим DOS, под DOS в 16-битном защищенном режиме с использованием расширителя DOS RTTM и драйвера DPMI, а также под Windows 3.x
Алгоритм раскраски во встроенном редакторе немного отличается от того, как понимает синтаксис компилятор. А именно, конструкция (*) воспринимается редактором как законченный комментарий, а компилятором — как начало комментария. Это может использоваться, чтобы внутри комментариев вставлять синтаксически раскрашенные участки, например, демонстрация использования. Или, например, существуют Паскаль-вирусы, которые записывают своё тело после 80й колонки, используя (*), чтобы старый текст выглядел без изменений
компилятор и отладчики для создания программ под реальный режим DOS, под DOS в 16-битном защищенном режиме с использованием расширителя DOS RTTM и драйвера DPMI, а также под Windows 3.x
Алгоритм раскраски во встроенном редакторе немного отличается от того, как понимает синтаксис компилятор. А именно, конструкция (*) воспринимается редактором как законченный комментарий, а компилятором — как начало комментария. Это может использоваться, чтобы внутри комментариев вставлять синтаксически раскрашенные участки, например, демонстрация использования. Или, например, существуют Паскаль-вирусы, которые записывают своё тело после 80й колонки, используя (*), чтобы старый текст выглядел без изменений
#include <bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int N,k;
int a[1000000];
map <pair <int, int>, int> mem;
cin >> N;
//b.reserve(N);
memset(a,0,sizeof a);
//memset(b,0,b.size()*sizeof int);
for (int i=0;i<N;i++)
cin >> a[i];
cin >> k;
for (int i=0;i<k;i++){
int tmp,tmp2,tmp3,tmp4,sum{0};
cin >> tmp >> tmp2;
tmp--;tmp2--;
if (mem.find({tmp,tmp2})!=mem.end()) {cout<< mem[ {tmp,tmp2} ] << endl; continue;}
tmp3=tmp;
tmp4=tmp2;
for(int x=0;x<(tmp4-tmp3)/2+1;x++){
for(int z=0;z<(tmp2-tmp)/2+1;z++){
if (mem.find({tmp,tmp2})!=mem.end()) {sum= (sum+mem[ {tmp,tmp2} ])%998244353; break;}
for(int j=tmp+z;j<=tmp2-z;j++){
sum=(sum+a[j])%998244353;
}}
tmp++;tmp2--;
}
cout << sum << endl;
mem[{tmp3,tmp4}]=sum;
}
return 0;
}
Объяснение: